5 #ifndef INERtcEngineEx_h
6 #define INERtcEngineEx_h
15 NS_ASSUME_NONNULL_BEGIN
49 - (int)enableDualStreamMode:(BOOL)enable;
163 - (int)muteLocalAudio:(BOOL)muted;
186 - (int)subscribeRemoteAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
207 - (int)subscribeAllRemoteAudio:(BOOL)subscribe;
237 - (int)setAudioSubscribeOnlyBy:(NSArray<NSNumber*> *)uidArray;
263 - (int)enableLocalSubStreamAudio:(BOOL)enabled;
292 - (int)subscribeRemoteSubStreamAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
318 - (int)muteLocalSubStreamAudio:(BOOL)muted;
363 - (int)setExternalSubStreamAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
641 - (int)muteLocalVideo:(BOOL)muted;
711 - (int)setLoudspeakerMode:(
bool)enable;
727 - (int)getLoudspeakerMode:(
bool *)enabled;
806 - (int)setRemoteHighPriorityAudioStream:(BOOL)enable forUserID:(uint64_t)userID streamType:(
NERtcAudioStreamType)streamType;
824 #pragma mark -- External Video Input
856 - (int)setExternalVideoSource:(BOOL)enable isScreen:(BOOL)isScreen;
955 #pragma mark -- Sub Stream
1067 - (int)setupRemoteSubStreamVideoCanvas:(
NERtcVideoCanvas *)canvas forUserID:(uint64_t)userID;
1089 - (int)subscribeRemoteSubStreamVideo:(BOOL)subscribe forUserID:(uint64_t)userID;
1113 #pragma mark - AUDIO SESSION
1137 #pragma mark -- AUDIO DEVICE MANAGER
1151 - (int)setPlayoutDeviceMute:(
bool)muted;
1166 - (int)getPlayoutDeviceMute:(
bool *)muted;
1181 - (int)setRecordDeviceMute:(
bool)muted;
1196 - (int)getRecordDeviceMute:(
bool *)muted;
1199 #pragma mark -- CAMERA & TORCH SETTINGS
1293 - (int)setCameraExposurePosition:(CGPoint)positionInView;
1313 - (int)setCameraTorchOn:(BOOL)on;
1349 - (int)setCameraZoomFactor:(
float)factor;
1391 - (int)setCameraFocusPositionX:(
float)focusX Y:(
float)focusY;
1471 #pragma mark -- AUDIO MIXING
1555 - (int)setAudioMixingSendVolume:(uint32_t)volume;
1571 - (int)getAudioMixingSendVolume:(uint32_t *)volume;
1587 - (int)setAudioMixingPlaybackVolume:(uint32_t)volume;
1603 - (int)getAudioMixingPlaybackVolume:(uint32_t *)volume;
1619 - (int)getAudioMixingDuration:(uint64_t *)duration;
1635 - (int)getAudioMixingCurrentPosition:(uint64_t *)position;
1651 - (int)setAudioMixingPosition:(uint64_t)position;
1653 #pragma mark -- AUDIO EFFECT
1700 - (int)stopEffectWitdId:(uint32_t)effectId;
1732 - (int)pauseEffectWitdId:(uint32_t)effectId;
1748 - (int)resumeEffectWitdId:(uint32_t)effectId;
1794 - (int)setEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
1812 - (int)getEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
1830 - (int)setEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
1846 - (int)getEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
1868 - (int)getEffectDurationWithId:(uint32_t)effectId duration:(uint64_t *)duration;
1890 - (int)getEffectCurrentPositionWithId:(uint32_t)effectId position:(uint64_t *)position;
1892 #pragma mark -- In-ear monitoring
1915 - (int)enableEarback:(BOOL)enabled volume:(uint32_t)volume;
1929 - (int)setEarbackVolume:(uint32_t)volume;
1931 #pragma mark -- audio recording
2033 #pragma mark --External Audio
2065 - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
2127 - (int)setExternalAudioRender:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
2154 - (int)pullExternalAudioFrame:(
void *_Nonnull)data length:(
int)len;
2156 #pragma mark -- Media Statistic Observer
2199 #pragma mark -- Live Stream
2270 #pragma mark -- Audio Frame Observer
2365 #pragma mark -- Volume indication
2384 - (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval;
2420 - (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval vad:(BOOL)enableVad;
2423 #pragma mark - Signal Volume
2447 - (int)adjustRecordingSignalVolume:(uint32_t)volume;
2470 - (int)adjustPlaybackSignalVolume:(uint32_t)volume;
2500 - (int)adjustUserPlaybackSignalVolume:(uint32_t)volume forUserID:(uint64_t)userID;
2502 #pragma mark - voice effects
2524 - (int)setLocalVoicePitch:(
double)pitch;
2607 #pragma mark - waterMark
2659 forUserID:(uint64_t)userID
2687 #pragma mark - snapshot
2744 #pragma mark -- Other
2835 - (int)sendSEIMsg:(NSData *)data;
2837 #pragma mark- MediaRealy
2936 - (int)enableSuperResolution:(BOOL)enabled;
2970 #pragma mark - NetworkQualiityTest
3035 - (nullable
NERtcChannel *)createChannel:(NSString *)channelName;
3037 #pragma mark - Video Effect
3071 - (int)enableVideoCorrection:(BOOL)enable;
3150 #pragma mark - Cloud Proxy
3196 - (void)setStreamAlignmentProperty:(BOOL)enable;
3216 NS_ASSUME_NONNULL_END
void(^ NERtcTakeSnapshotCallback)(int errorCode, UIImage *_Nullable image)
截图结果 block 回调。
Definition: INERtcEngine.h:60
void(^ NERtcLiveStreamCompletion)(NSString *taskId, kNERtcLiveStreamError errorCode)
互动直播推流 block。
Definition: INERtcEngine.h:46
NERtcAudioEqualizationBandFrequency
频谱子带索引 预设值。
Definition: NERtcEngineEnum.h:1820
NERtcAudioDumpType
音频dump类型
Definition: NERtcEngineEnum.h:1622
NERtcVoiceChangerType
变声 预设值。
Definition: NERtcEngineEnum.h:1921
NERtcVideoRotationMode
视频旋转模式。
Definition: NERtcEngineEnum.h:712
NERtcAudioRecordingQuality
录音音质。
Definition: NERtcEngineEnum.h:1698
NERtcCameraPosition
指定的摄像头位置。
Definition: NERtcEngineEnum.h:1322
NERtcRemoteVideoStreamType
远端视频流类型。
Definition: NERtcEngineEnum.h:598
NERtcStreamFallbackOptions
Definition: NERtcEngineEnum.h:1654
NERtcStreamChannelType
SEI发送的流通道类型。
Definition: NERtcEngineEnum.h:998
NERtcAudioSessionOperationRestriction
音频会话控制权限。 SDK 对 Audio Session 的控制权限。
Definition: NERtcEngineEnum.h:1575
NERtcTransportType
云代理模式。
Definition: NERtcEngineEnum.h:3088
NERtcVoiceBeautifierType
美声 预设值。
Definition: NERtcEngineEnum.h:2013
NERtcVideoRenderScaleMode
视频渲染缩放模式。
Definition: NERtcEngineEnum.h:674
NERtcMediaPriorityType
Definition: NERtcEngineEnum.h:1633
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
Definition: NERtcEngineEnum.h:1608
音频帧。
Definition: NERtcEngineBase.h:1428
Definition: NERtcEngineBase.h:814
摄像头采集配置。
Definition: NERtcEngineBase.h:449
画布水印设置。 同时设置文字、时间戳或图片水印时,如果不同类型的水印位置有重叠,会按照图片、文本、时间戳的顺序进行图层覆盖。
Definition: NERtcEngineBase.h:1893
Definition: NERtcChannel.h:14
Options for creating audio effects
Definition: NERtcEngineBase.h:738
Options for creating mixing audios
Definition: NERtcEngineBase.h:627
配置媒体流加密模式和密钥。
Definition: NERtcEngineBase.h:2292
Last mile 网络探测配置。
Definition: NERtcEngineBase.h:2462
直播推流任务的配置。
Definition: NERtcEngineBase.h:1219
混响参数
Definition: NERtcEngineBase.h:2764
视频画布设置。
Definition: NERtcEngineBase.h:261
视频图像畸变矫正相关设置。
Definition: NERtcEngineBase.h:2663
视频帧信息。
Definition: NERtcEngineBase.h:1518
本地辅流发送配置。
Definition: NERtcEngineBase.h:609
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
Definition: NERtcEngineBase.h:2238
自定义背景图像。
Definition: NERtcEngineBase.h:2700
NERtcEngine 的常用接口。
Definition: INERtcEngine.h:75
NERtcEngine 扩展接口
Definition: INERtcEngineEx.h:25
BOOL isCameraZoomSupported()
检测设备当前使用的摄像头是否支持缩放功能。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
int stopAudioRecording()
停止客户端录音。 本端离开房间时自动停止录音,您也可以在通话中随时调用 stopAudioRecording 手动停止录音。
int stopAudioDump()
结束记录音频 dump。
int startPreview()
开启视频预览。 该方法用于在进入房间前启动本地视频预览。调用该 API 前,必须调用 setupLocalVideoCanvas 设置视频画布。
BOOL isCameraFocusSupported()
检测设备是否支持手动对焦功能。
int64_t getNtpTimeOffset()
获取本地系统时间与服务端时间差值。 可以用于做时间对齐,通过 (毫秒级系统时间 - offset) 可能得到当前服务端时间。
int stopChannelMediaRelay()
停止跨房间媒体流转发。 主播离开房间时,跨房间媒体流转发自动停止,您也可以在需要的时候随时调用 stopChannelMediaRelay 方法,此时主播会退出所有目标房间。
BOOL isCameraTorchOn()
查询设备是否开启了闪光灯。
BOOL isCameraTorchSupported()
检测设备是否支持闪光灯常亮。
int pauseAudioMixing()
暂停播放音乐文件及混音。 该方法暂停播放伴奏。请在房间内调用该方法。
int uploadSdkInfo()
上传 SDK 信息。 上传的信息包括 log 和 Audio dump 等文件。
int stopScreenCapture()
关闭辅流形式的屏幕共享。 如果您在加入房间后调用该方法关闭辅流,调用成功后,远端触发 onNERtcEngineUserSubStreamDidStop 回调。
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:1161