5 #ifndef INERtcEngineEx_h
6 #define INERtcEngineEx_h
15 #pragma clang diagnostic push
16 #pragma clang diagnostic ignored "-Wdocumentation"
19 NS_ASSUME_NONNULL_BEGIN
143 - (int)enableDualStreamMode:(BOOL)enable;
298 - (int)muteLocalAudio:(BOOL)muted;
355 - (int)subscribeRemoteAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
404 - (int)subscribeAllRemoteAudio:(BOOL)subscribe;
434 - (int)setAudioSubscribeOnlyBy:(NSArray<NSNumber*> *)uidArray;
460 - (int)enableLocalSubStreamAudio:(BOOL)enabled;
517 - (int)subscribeRemoteSubStreamAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
543 - (int)muteLocalSubStreamAudio:(BOOL)muted;
657 - (int)setExternalSubStreamAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
1088 - (int)muteLocalVideo:(BOOL)muted;
1190 - (int)setLoudspeakerMode:(
bool)enable;
1206 - (int)getLoudspeakerMode:(
bool *)enabled;
1297 - (int)setRemoteHighPriorityAudioStream:(BOOL)enable forUserID:(uint64_t)userID streamType:(
NERtcAudioStreamType)streamType;
1354 - (int)updatePermissionKey:(NSString *)key;
1355 #pragma mark - External Video Input
1420 - (int)setExternalVideoSource:(BOOL)enable isScreen:(BOOL)isScreen;
1519 #pragma mark - Sub Stream
1760 - (int)setupRemoteSubStreamVideoCanvas:(nullable
NERtcVideoCanvas *)canvas forUserID:(uint64_t)userID;
1815 - (int)subscribeRemoteSubStreamVideo:(BOOL)subscribe forUserID:(uint64_t)userID;
1869 #pragma mark - Audio Session
1893 #pragma mark - Audio Device Manager
1935 - (int)setPlayoutDeviceMute:(
bool)muted;
1950 - (int)getPlayoutDeviceMute:(
bool *)muted;
1998 - (int)setRecordDeviceMute:(
bool)muted;
2013 - (int)getRecordDeviceMute:(
bool *)muted;
2016 #pragma mark - Camera & Torch Settings
2138 - (int)setCameraExposurePosition:(CGPoint)positionInView;
2158 - (int)setCameraTorchOn:(BOOL)on;
2220 - (int)setCameraZoomFactor:(
float)factor;
2293 - (int)setCameraFocusPositionX:(
float)focusX Y:(
float)focusY;
2403 #pragma mark - Audio Mixing
2558 - (int)setAudioMixingSendVolume:(uint32_t)volume;
2574 - (int)getAudioMixingSendVolume:(uint32_t *)volume;
2590 - (int)setAudioMixingPlaybackVolume:(uint32_t)volume;
2606 - (int)getAudioMixingPlaybackVolume:(uint32_t *)volume;
2622 - (int)getAudioMixingDuration:(uint64_t *)duration;
2638 - (int)getAudioMixingCurrentPosition:(uint64_t *)position;
2654 - (int)setAudioMixingPosition:(uint64_t)position;
2697 - (int)setAudioMixingPitch:(int32_t)pitch;
2719 - (int)getAudioMixingPitch:(int32_t *)pitch;
2721 #pragma mark - Audio Effect
2829 - (int)stopEffectWitdId:(uint32_t)effectId;
2873 - (int)pauseEffectWitdId:(uint32_t)effectId;
2889 - (int)resumeEffectWitdId:(uint32_t)effectId;
2935 - (int)setEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
2953 - (int)getEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
2971 - (int)setEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
2987 - (int)getEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
3009 - (int)getEffectDurationWithId:(uint32_t)effectId duration:(uint64_t *)duration;
3031 - (int)getEffectCurrentPositionWithId:(uint32_t)effectId position:(uint64_t *)position;
3073 - (int)setEffectPositionWithId:(uint32_t)effectId position:(uint64_t)position;
3121 - (int)setEffectPitchWithId:(uint32_t)effectId pitch:(int32_t)pitch;
3159 - (int)getEffectPitchWithId:(uint32_t)effectId pitch:(int32_t *)pitch;
3161 #pragma mark - In-ear monitoring
3213 - (int)enableEarback:(BOOL)enabled volume:(uint32_t)volume;
3227 - (int)setEarbackVolume:(uint32_t)volume;
3229 #pragma mark - Audio Recording
3372 #pragma mark - External Audio
3439 - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3532 - (int)setExternalAudioRender:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3559 - (int)pullExternalAudioFrame:(
void *_Nonnull)data length:(
int)len;
3561 #pragma mark - Media Statistic Observer
3604 #pragma mark - Live Stream
3775 #pragma mark - Audio Frame Observer
4017 #pragma mark - Volume Indication
4067 - (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval;
4129 - (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval vad:(BOOL)enableVad;
4132 #pragma mark - Signal Volume
4175 - (int)adjustRecordingSignalVolume:(uint32_t)volume;
4220 - (int)adjustPlaybackSignalVolume:(uint32_t)volume;
4276 - (int)adjustUserPlaybackSignalVolume:(uint32_t)volume forUserID:(uint64_t)userID;
4278 #pragma mark - Voice Effect
4300 - (int)setLocalVoicePitch:(
double)pitch;
4428 #pragma mark - WaterMark
4512 forUserID:(uint64_t)userID
4540 #pragma mark - Snapshot
4597 #pragma mark - Other
4623 - (int)reportCustomEvent:(NSString *)eventName
4624 customIdentify:(NSString *)customIdentify
4625 param:(NSDictionary *)param;
4701 - (int)sendSEIMsg:(NSData *)data;
4703 #pragma mark- MediaRelay
4817 - (int)enableSuperResolution:(BOOL)enabled;
4851 #pragma mark - NetworkQualiityTest
4916 - (nullable
NERtcChannel *)createChannel:(NSString *)channelName;
4918 #pragma mark - Video Effect
4952 - (int)enableVideoCorrection:(BOOL)enable;
5031 #pragma mark - Cloud Proxy
5096 - (void)setStreamAlignmentProperty:(BOOL)enable;
5114 #pragma mark - encoder & decoder
5406 NS_ASSUME_NONNULL_END
5408 #pragma clang diagnostic pop
void(^ NERtcTakeSnapshotCallback)(int errorCode, UIImage *_Nullable image)
截图结果 block 回调。
Definition: INERtcEngine.h:64
void(^ NERtcLiveStreamCompletion)(NSString *taskId, kNERtcLiveStreamError errorCode)
互动直播推流 block。
Definition: INERtcEngine.h:50
NERtcAudioEqualizationBandFrequency
频谱子带索引 预设值。
Definition: NERtcEngineEnum.h:1893
NERtcAudioDumpType
音频dump类型
Definition: NERtcEngineEnum.h:1651
NERtcVoiceChangerType
变声 预设值。
Definition: NERtcEngineEnum.h:1994
NERtcVideoRotationMode
视频旋转模式。
Definition: NERtcEngineEnum.h:741
NERtcAudioRecordingQuality
录音音质。
Definition: NERtcEngineEnum.h:1727
NERtcCameraPosition
指定的摄像头位置。
Definition: NERtcEngineEnum.h:1351
NERtcRemoteVideoStreamType
远端视频流类型。
Definition: NERtcEngineEnum.h:627
NERtcStreamFallbackOptions
Definition: NERtcEngineEnum.h:1683
NERtcStreamChannelType
SEI发送的流通道类型。
Definition: NERtcEngineEnum.h:1027
NERtcAudioSessionOperationRestriction
音频会话控制权限。 SDK 对 Audio Session 的控制权限。
Definition: NERtcEngineEnum.h:1604
NERtcTransportType
云代理模式。
Definition: NERtcEngineEnum.h:3161
NERtcVoiceBeautifierType
美声 预设值。
Definition: NERtcEngineEnum.h:2086
NERtcVideoRenderScaleMode
视频渲染缩放模式。
Definition: NERtcEngineEnum.h:703
NERtcMediaPriorityType
Definition: NERtcEngineEnum.h:1662
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
Definition: NERtcEngineEnum.h:1637
编码好的音频数据
Definition: NERtcEngineBase.h:3097
音频帧。
Definition: NERtcEngineBase.h:1480
Definition: NERtcEngineBase.h:866
摄像头采集配置。
Definition: NERtcEngineBase.h:473
画布水印设置。 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。
Definition: NERtcEngineBase.h:1969
Definition: NERtcChannel.h:14
Options for creating audio effects
Definition: NERtcEngineBase.h:769
Options for creating mixing audios
Definition: NERtcEngineBase.h:651
配置媒体流加密模式和密钥。
Definition: NERtcEngineBase.h:2368
Last mile 网络探测配置。
Definition: NERtcEngineBase.h:2538
直播推流任务的配置。
Definition: NERtcEngineBase.h:1271
Definition: NERtcEngineBase.h:3175
混响参数
Definition: NERtcEngineBase.h:2840
视频画布设置。
Definition: NERtcEngineBase.h:277
视频图像畸变矫正相关设置。
Definition: NERtcEngineBase.h:2739
Definition: NERtcEngineBase.h:3055
视频帧信息。
Definition: NERtcEngineBase.h:1570
本地辅流发送配置。
Definition: NERtcEngineBase.h:633
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
Definition: NERtcEngineBase.h:2314
自定义背景图像。
Definition: NERtcEngineBase.h:2776
NERtcEngine 的常用接口。
Definition: INERtcEngine.h:80
NERtcEngine 扩展接口
Definition: INERtcEngineEx.h:29
BOOL isCameraZoomSupported()
检测设备当前使用的摄像头是否支持缩放功能。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
int stopPushStreaming()
/* 停止推流。 通过此接口可以停止当前正在进行的rtmp推流
int stopPreview()
停止视频预览。 通过此接口可以实现在预览本地视频后关闭预览。
int stopAudioRecording()
停止客户端本地录音。 本端用户离开房间时会自动停止本地录音,也可以通过此接口实现在通话过程中随时停止录音。
int stopAudioDump()
结束记录音频 dump。
int startPreview()
开启视频预览。 通过本接口可以实现在加入房间前启动本地视频预览,支持预览本地摄像头或外部输入视频。
BOOL isCameraFocusSupported()
检测设备是否支持手动对焦功能。
int64_t getNtpTimeOffset()
获取本地系统时间与服务端时间差值。 可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
int stopChannelMediaRelay()
停止跨房间媒体流转发。 通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
BOOL isCameraTorchOn()
查询设备是否开启了闪光灯。
BOOL isCameraTorchSupported()
检测设备是否支持闪光灯常亮。
int pauseAudioMixing()
暂停伴音。 通过此接口可以实现暂停播放伴音文件。
int uploadSdkInfo()
上传 SDK 信息。 上传的信息包括 log 和 Audio dump 等文件。
int stopScreenCapture()
关闭屏幕共享。 通过此接口可以实现关闭屏幕共享辅流。
int stopLastmileProbeTest()
停止通话前网络质量探测。
BOOL isCameraExposurePositionSupported()
检测设备是否支持手动曝光功能。
int startAudioDump()
开始记录音频 dump。 音频 dump 可用于分析音频问题。
int resumeAllEffects()
恢复播放所有音效文件。 请在加入房间后调用该方法。
int cleanupEngineMediaStatsObserver()
清除全部媒体统计信息观测器。
int stopAudioMixing()
停止伴音。 通过本接口可以实现停止播放本地或在线音频文件,或者录音设备采集的混音音频流。
int resumeAudioMixing()
恢复伴音。 通过此接口可以实现恢复播放伴音文件。
float maxCameraZoomScale()
获取摄像头支持最大缩放比例。
int pauseAllEffects()
暂停播放所有音效文件。 请在加入房间后调用该方法。
int stopAllEffects()
停止播放所有音效文件。 通过此接口可以实现在同时播放多个音效文件时,可以一次性停止播放所有文件(含暂停播放的文件)。
音频数据回调 如果需要对音频数据做处理,需要实现这个 protocol
Definition: NERtcEngineDelegate.h:1518
Definition: NERtcEngineDelegate.h:623
Definition: NERtcEngineDelegate.h:651
本地视频数据采集回调 如果需要对采集数据做美颜等处理,需要实现这个 protocol。
Definition: NERtcEngineDelegate.h:509