5 #ifndef INERtcEngineEx_h
6 #define INERtcEngineEx_h
15 #pragma clang diagnostic push
16 #pragma clang diagnostic ignored "-Wdocumentation"
19 NS_ASSUME_NONNULL_BEGIN
77 - (int)enableDualStreamMode:(BOOL)enable;
232 - (int)muteLocalAudio:(BOOL)muted;
289 - (int)subscribeRemoteAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
338 - (int)subscribeAllRemoteAudio:(BOOL)subscribe;
368 - (int)setAudioSubscribeOnlyBy:(NSArray<NSNumber*> *)uidArray;
394 - (int)enableLocalSubStreamAudio:(BOOL)enabled;
451 - (int)subscribeRemoteSubStreamAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
477 - (int)muteLocalSubStreamAudio:(BOOL)muted;
591 - (int)setExternalSubStreamAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
1024 - (int)muteLocalVideo:(BOOL)muted;
1126 - (int)setLoudspeakerMode:(
bool)enable;
1142 - (int)getLoudspeakerMode:(
bool *)enabled;
1233 - (int)setRemoteHighPriorityAudioStream:(BOOL)enable forUserID:(uint64_t)userID streamType:(
NERtcAudioStreamType)streamType;
1290 - (int)updatePermissionKey:(NSString *)key;
1291 #pragma mark - External Video Input
1356 - (int)setExternalVideoSource:(BOOL)enable isScreen:(BOOL)isScreen;
1472 #pragma mark - Sub Stream
1713 - (int)setupRemoteSubStreamVideoCanvas:(nullable
NERtcVideoCanvas *)canvas forUserID:(uint64_t)userID;
1768 - (int)subscribeRemoteSubStreamVideo:(BOOL)subscribe forUserID:(uint64_t)userID;
1822 #pragma mark - Audio Session
1846 #pragma mark - Audio Device Manager
1888 - (int)setPlayoutDeviceMute:(
bool)muted;
1903 - (int)getPlayoutDeviceMute:(
bool *)muted;
1951 - (int)setRecordDeviceMute:(
bool)muted;
1966 - (int)getRecordDeviceMute:(
bool *)muted;
1969 #pragma mark - Camera & Torch Settings
2091 - (int)setCameraExposurePosition:(CGPoint)positionInView;
2111 - (int)setCameraTorchOn:(BOOL)on;
2173 - (int)setCameraZoomFactor:(
float)factor;
2246 - (int)setCameraFocusPositionX:(
float)focusX Y:(
float)focusY;
2356 #pragma mark - Audio Mixing
2511 - (int)setAudioMixingSendVolume:(uint32_t)volume;
2527 - (int)getAudioMixingSendVolume:(uint32_t *)volume;
2543 - (int)setAudioMixingPlaybackVolume:(uint32_t)volume;
2559 - (int)getAudioMixingPlaybackVolume:(uint32_t *)volume;
2575 - (int)getAudioMixingDuration:(uint64_t *)duration;
2591 - (int)getAudioMixingCurrentPosition:(uint64_t *)position;
2607 - (int)setAudioMixingPosition:(uint64_t)position;
2650 - (int)setAudioMixingPitch:(int32_t)pitch;
2672 - (int)getAudioMixingPitch:(int32_t *)pitch;
2674 #pragma mark - Audio Effect
2782 - (int)stopEffectWitdId:(uint32_t)effectId;
2826 - (int)pauseEffectWitdId:(uint32_t)effectId;
2842 - (int)resumeEffectWitdId:(uint32_t)effectId;
2888 - (int)setEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
2906 - (int)getEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
2924 - (int)setEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
2940 - (int)getEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
2962 - (int)getEffectDurationWithId:(uint32_t)effectId duration:(uint64_t *)duration;
2984 - (int)getEffectCurrentPositionWithId:(uint32_t)effectId position:(uint64_t *)position;
3026 - (int)setEffectPositionWithId:(uint32_t)effectId position:(uint64_t)position;
3074 - (int)setEffectPitchWithId:(uint32_t)effectId pitch:(int32_t)pitch;
3112 - (int)getEffectPitchWithId:(uint32_t)effectId pitch:(int32_t *)pitch;
3114 #pragma mark - In-ear monitoring
3166 - (int)enableEarback:(BOOL)enabled volume:(uint32_t)volume;
3180 - (int)setEarbackVolume:(uint32_t)volume;
3182 #pragma mark - Audio Recording
3325 #pragma mark - External Audio
3392 - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3485 - (int)setExternalAudioRender:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3512 - (int)pullExternalAudioFrame:(
void *_Nonnull)data length:(
int)len;
3514 #pragma mark - Data Channel
3544 - (int)enableLocalData:(BOOL)enabled;
3574 - (int)subscribeRemoteData:(BOOL)subscribe forUserID:(uint64_t)userID;
3594 - (int)sendData:(NSData *)data;
3596 #pragma mark - Media Statistic Observer
3639 #pragma mark - Live Stream
3810 #pragma mark - Audio Frame Observer
4025 #pragma mark - Volume Indication
4077 - (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval;
4144 - (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval vad:(BOOL)enableVad;
4147 #pragma mark - Signal Volume
4190 - (int)adjustRecordingSignalVolume:(uint32_t)volume;
4235 - (int)adjustPlaybackSignalVolume:(uint32_t)volume;
4292 - (int)adjustUserPlaybackSignalVolume:(uint32_t)volume forUserID:(uint64_t)userID;
4329 - (int)adjustChannelPlaybackSignalVolume:(uint32_t)volume;
4331 #pragma mark - Voice Effect
4353 - (int)setLocalVoicePitch:(
double)pitch;
4481 #pragma mark - WaterMark
4507 #pragma mark - Snapshot
4564 #pragma mark - Other
4590 - (int)reportCustomEvent:(NSString *)eventName
4591 customIdentify:(NSString *)customIdentify
4592 param:(NSDictionary *)param;
4668 - (int)sendSEIMsg:(NSData *)data;
4670 #pragma mark- MediaRelay
4784 - (int)enableSuperResolution:(BOOL)enabled;
4818 #pragma mark - NetworkQualiityTest
4883 - (nullable
NERtcChannel *)createChannel:(NSString *)channelName;
4885 #pragma mark - Video Effect
4919 - (int)enableVideoCorrection:(BOOL)enable;
4998 #pragma mark - Cloud Proxy
5063 - (void)setStreamAlignmentProperty:(BOOL)enable;
5081 #pragma mark - encoder & decoder
5373 NS_ASSUME_NONNULL_END
5375 #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:1902
NERtcAudioDumpType
音频dump类型
Definition: NERtcEngineEnum.h:1660
NERtcVoiceChangerType
变声 预设值。
Definition: NERtcEngineEnum.h:2003
NERtcVideoRotationMode
视频旋转模式。
Definition: NERtcEngineEnum.h:750
NERtcAudioRecordingQuality
录音音质。
Definition: NERtcEngineEnum.h:1736
NERtcCameraPosition
指定的摄像头位置。
Definition: NERtcEngineEnum.h:1360
NERtcRemoteVideoStreamType
远端视频流类型。
Definition: NERtcEngineEnum.h:636
NERtcStreamFallbackOptions
Definition: NERtcEngineEnum.h:1692
NERtcStreamChannelType
SEI发送的流通道类型。
Definition: NERtcEngineEnum.h:1043
NERtcAudioSessionOperationRestriction
音频会话控制权限。 SDK 对 Audio Session 的控制权限。
Definition: NERtcEngineEnum.h:1613
NERtcTransportType
云代理模式。
Definition: NERtcEngineEnum.h:3170
NERtcVoiceBeautifierType
美声 预设值。
Definition: NERtcEngineEnum.h:2095
NERtcVideoRenderScaleMode
视频渲染缩放模式。
Definition: NERtcEngineEnum.h:712
NERtcMediaPriorityType
Definition: NERtcEngineEnum.h:1671
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
Definition: NERtcEngineEnum.h:1646
编码好的音频数据
Definition: NERtcEngineBase.h:3107
音频帧。
Definition: NERtcEngineBase.h:1492
Definition: NERtcEngineBase.h:878
摄像头采集配置。
Definition: NERtcEngineBase.h:485
Definition: NERtcChannel.h:14
Options for creating audio effects
Definition: NERtcEngineBase.h:781
Options for creating mixing audios
Definition: NERtcEngineBase.h:663
配置媒体流加密模式和密钥。
Definition: NERtcEngineBase.h:2378
Last mile 网络探测配置。
Definition: NERtcEngineBase.h:2548
直播推流任务的配置。
Definition: NERtcEngineBase.h:1283
混响参数
Definition: NERtcEngineBase.h:2850
视频画布设置。
Definition: NERtcEngineBase.h:293
视频图像畸变矫正相关设置。
Definition: NERtcEngineBase.h:2749
Definition: NERtcEngineBase.h:3065
视频帧信息。
Definition: NERtcEngineBase.h:1582
本地辅流发送配置。
Definition: NERtcEngineBase.h:645
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
Definition: NERtcEngineBase.h:2324
自定义背景图像。
Definition: NERtcEngineBase.h:2786
NERtcEngine 的常用接口。
Definition: INERtcEngine.h:80
NERtcEngine 扩展接口
Definition: INERtcEngineEx.h:29
BOOL isCameraZoomSupported()
检测设备当前使用的摄像头是否支持缩放功能。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
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:1520
Definition: NERtcEngineDelegate.h:628
Definition: NERtcEngineDelegate.h:656
本地视频数据采集回调 如果需要对采集数据做美颜等处理,需要实现这个 protocol。
Definition: NERtcEngineDelegate.h:511