5#ifndef INERtcEngineEx_h
6#define INERtcEngineEx_h
15#pragma clang diagnostic push
16#pragma clang diagnostic ignored "-Wdocumentation"
19NS_ASSUME_NONNULL_BEGIN
29@protocol INERtcEngineEx <INERtcEngine>
78- (int)enableDualStreamMode:(BOOL)enable;
270- (int)muteLocalAudio:(BOOL)muted;
327- (int)subscribeRemoteAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
376- (int)subscribeAllRemoteAudio:(BOOL)subscribe;
406- (int)setAudioSubscribeOnlyBy:(NSArray<NSNumber*> *)uidArray;
432- (int)enableLocalSubStreamAudio:(BOOL)enabled;
489- (int)subscribeRemoteSubStreamAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
515- (int)muteLocalSubStreamAudio:(BOOL)muted;
629- (int)setExternalSubStreamAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
1168 - (int)muteLocalVideo:(BOOL)muted;
1270- (int)setLoudspeakerMode:(
bool)enable;
1286- (int)getLoudspeakerMode:(
bool *)enabled;
1301- (int)startAudioDump;
1341- (int)stopAudioDump;
1392- (int)setRemoteHighPriorityAudioStream:(BOOL)enable forUserID:(uint64_t)userID streamType:(
NERtcAudioStreamType)streamType;
1449- (int)updatePermissionKey:(NSString *)key;
1578#pragma mark - External Video Input
1644- (int)setExternalVideoSource:(BOOL)enable isScreen:(BOOL)isScreen;
1761#pragma mark - Sub Stream
1953- (int)stopScreenCapture;
2065- (int)setupRemoteSubStreamVideoCanvas:(nullable
NERtcVideoCanvas *)canvas forUserID:(uint64_t)userID;
2190- (int)subscribeRemoteSubStreamVideo:(BOOL)subscribe forUserID:(uint64_t)userID;
2310#pragma mark - Audio Session
2334#pragma mark - Audio Device Manager
2376- (int)setPlayoutDeviceMute:(
bool)muted;
2391- (int)getPlayoutDeviceMute:(
bool *)muted;
2439- (int)setRecordDeviceMute:(
bool)muted;
2454- (int)getRecordDeviceMute:(
bool *)muted;
2457#pragma mark - Camera & Torch Settings
2473- (BOOL)isCameraZoomSupported;
2493- (BOOL)isCameraTorchSupported;
2511- (BOOL)isCameraFocusSupported;
2529- (BOOL)isCameraExposurePositionSupported;
2579- (int)setCameraExposurePosition:(CGPoint)positionInView;
2599- (int)setCameraTorchOn:(BOOL)on;
2613- (BOOL)isCameraTorchOn;
2661- (int)setCameraZoomFactor:(
float)factor;
2679 - (float)maxCameraZoomScale;
2734- (int)setCameraFocusPositionX:(
float)focusX Y:(
float)focusY;
2844#pragma mark - Audio Mixing
2930- (int)stopAudioMixing;
2958- (int)pauseAudioMixing;
2985- (int)resumeAudioMixing;
2999- (int)setAudioMixingSendVolume:(uint32_t)volume;
3015- (int)getAudioMixingSendVolume:(uint32_t *)volume;
3031- (int)setAudioMixingPlaybackVolume:(uint32_t)volume;
3047- (int)getAudioMixingPlaybackVolume:(uint32_t *)volume;
3063- (int)getAudioMixingDuration:(uint64_t *)duration;
3079- (int)getAudioMixingCurrentPosition:(uint64_t *)position;
3095- (int)setAudioMixingPosition:(uint64_t)position;
3138- (int)setAudioMixingPitch:(int32_t)pitch;
3160- (int)getAudioMixingPitch:(int32_t *)pitch;
3162#pragma mark - Audio Effect
3270- (int)stopEffectWitdId:(uint32_t)effectId;
3298- (int)stopAllEffects;
3314- (int)pauseEffectWitdId:(uint32_t)effectId;
3330- (int)resumeEffectWitdId:(uint32_t)effectId;
3344- (int)pauseAllEffects;
3358- (int)resumeAllEffects;
3376- (int)setEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
3394- (int)getEffectSendVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
3412- (int)setEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t)volume;
3428- (int)getEffectPlaybackVolumeWithId:(uint32_t)effectId volume:(uint32_t *)volume;
3450- (int)getEffectDurationWithId:(uint32_t)effectId duration:(uint64_t *)duration;
3472- (int)getEffectCurrentPositionWithId:(uint32_t)effectId position:(uint64_t *)position;
3514- (int)setEffectPositionWithId:(uint32_t)effectId position:(uint64_t)position;
3562- (int)setEffectPitchWithId:(uint32_t)effectId pitch:(int32_t)pitch;
3600- (int)getEffectPitchWithId:(uint32_t)effectId pitch:(int32_t *)pitch;
3602#pragma mark - In-ear monitoring
3654- (int)enableEarback:(BOOL)enabled volume:(uint32_t)volume;
3668- (int)setEarbackVolume:(uint32_t)volume;
3670#pragma mark - Audio Recording
3811- (int)stopAudioRecording;
3813#pragma mark - External Audio
3880- (int)setExternalAudioSource:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
3973 - (int)setExternalAudioRender:(BOOL)enabled sampleRate:(int32_t)sampleRate channels:(int32_t)channels;
4000- (int)pullExternalAudioFrame:(
void *_Nonnull)data length:(
int)len;
4002#pragma mark - 3D Audio
4034-(int)setRangeAudioTeamID:(int32_t)teamId;
4054- (int)setAudioRecvRange:(
int)audibleDistance conversationalDistance:(
int)conversationalDistance rollOff:(
NERtcDistanceRolloffModel)rollOff;
4106- (int)enableSpatializerRoomEffects:(BOOL)enabled;
4145- (int)initSpatializer;
4163- (int)enableSpatializer:(BOOL)enabled applyToTeam:(BOOL)applyToTeam;
4165#pragma mark - ASL black and white list
4181- (int)setSubscribeAudioBlocklist:(
NERtcAudioStreamType)type uidArray:(NSArray<NSNumber*> *)uidArray;
4197- (int)setSubscribeAudioAllowlist:(NSArray<NSNumber*> *)uidArray;
4199#pragma mark - Data Channel
4229- (int)enableLocalData:(BOOL)enabled;
4259- (int)subscribeRemoteData:(BOOL)subscribe forUserID:(uint64_t)userID;
4279- (int)sendData:(NSData *)data;
4281#pragma mark - Media Statistic Observer
4295- (int)addEngineMediaStatsObserver:(
id<NERtcEngineMediaStatsObserver>)observer;
4309- (int)removeEngineMediaStatsObserver:(
id<NERtcEngineMediaStatsObserver>)observer;
4321- (int)cleanupEngineMediaStatsObserver;
4324#pragma mark - Live Stream
4495#pragma mark - Audio Frame Observer
4722- (int)setAudioFrameObserver:(nullable
id<NERtcEngineAudioFrameObserver>)observer;
4746- (int)setVideoFrameObserver:(nullable
id<NERtcEngineVideoFrameObserver>)videoframeObserver;
4773- (int)addRemoteVideoFrameObserver:(nullable
id<NERtcEngineVideoFrameObserver>)videoframeObserver;
4776#pragma mark - Volume Indication
4828- (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval;
4895- (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval vad:(BOOL)enableVad;
4898#pragma mark - Signal Volume
4941- (int)adjustRecordingSignalVolume:(uint32_t)volume;
4986- (int)adjustPlaybackSignalVolume:(uint32_t)volume;
5043- (int)adjustUserPlaybackSignalVolume:(uint32_t)volume forUserID:(uint64_t)userID;
5080- (int)adjustChannelPlaybackSignalVolume:(uint32_t)volume;
5082#pragma mark - Voice Effect
5104- (int)setLocalVoicePitch:(
double)pitch;
5232#pragma mark - WaterMark
5258#pragma mark - Snapshot
5330- (int)uploadSdkInfo;
5341- (int)reportCustomEvent:(NSString *)eventName
5342 customIdentify:(NSString *)customIdentify
5343 param:(NSDictionary *)param;
5419- (int)sendSEIMsg:(NSData *)data;
5421#pragma mark- MediaRelay
5508- (int)stopChannelMediaRelay;
5529- (int)pauseChannelMediaRelay;
5550- (int)resumeChannelMediaRelay;
5577- (int)enableSuperResolution:(BOOL)enabled;
5611#pragma mark - NetworkQualiityTest
5660- (int)stopLastmileProbeTest;
5676- (nullable
NERtcChannel *)createChannel:(NSString *)channelName;
5678#pragma mark - Video Effect
5712- (int)enableVideoCorrection:(BOOL)enable;
5837#pragma mark - Cloud Proxy
5902- (void)setStreamAlignmentProperty:(BOOL)enable;
5918- (int64_t)getNtpTimeOffset;
5920#pragma mark - encoder & decoder
5959- (int)setPreDecodeObserver:(nullable
id<NERtcEnginePreDecodeObserver>)observer;
5999- (int)setVideoEncoderQosObserver:(nullable
id<NERtcEngineVideoEncoderQosObserver>)encoderQosObserver;
6209#pragma mark - push streaming
6335- (int)stopPushStreaming;
6337#pragma mark - play streaming
6376- (int)setupPlayStreamingCanvas:(NSString *)streamId canvas:(
NERtcVideoCanvas *)canvas;
6457- (int)stopPlayStreaming:(NSString *)streamId;
6493- (int)pausePlayStreaming:(NSString *)streamId;
6528- (int)resumePlayStreaming:(NSString *)streamId;
6565- (int)muteVideoForPlayStreaming:(NSString *)streamId mute:(BOOL)mute;
6601- (int)muteAudioForPlayStreaming:(NSString *)streamId mute:(BOOL)mute;
6603#pragma mark - ai relate
6661- (int)stopASRCaption;
6693- (int)aiManualInterrupt:(uint64_t)dstUserId;
6697NS_ASSUME_NONNULL_END
6699#pragma clang diagnostic pop
void(^ NERtcTakeSnapshotCallback)(int errorCode, UIImage *_Nullable image)
截图结果 block 回调。
定义 INERtcEngine.h:64
void(^ NERtcLiveStreamCompletion)(NSString *taskId, kNERtcLiveStreamError errorCode)
互动直播推流 block。
定义 INERtcEngine.h:50
NERtcAudioEqualizationBandFrequency
频谱子带索引 预设值。
定义 NERtcEngineEnum.h:2838
NERtcAudioDumpType
音频 dump 类型
定义 NERtcEngineEnum.h:2352
NERtcVideoStreamLayerCount
定义 NERtcEngineEnum.h:504
NERtcVoiceChangerType
变声 预设值。
定义 NERtcEngineEnum.h:2939
NERtcSpatializerRenderMode
空间音效渲染模式
定义 NERtcEngineEnum.h:2541
NERtcDistanceRolloffModel
空间音效衰减模式
定义 NERtcEngineEnum.h:2567
NERtcVideoRotationMode
视频旋转模式。
定义 NERtcEngineEnum.h:832
NERtcAudioRecordingQuality
录音音质。
定义 NERtcEngineEnum.h:2672
NERtcCameraPosition
指定的摄像头位置。
定义 NERtcEngineEnum.h:1460
NERtcVideoDumpType
视频 dump 类型
定义 NERtcEngineEnum.h:2364
NERtcRemoteVideoStreamType
远端视频流类型。
定义 NERtcEngineEnum.h:709
NERtcStreamFallbackOptions
定义 NERtcEngineEnum.h:2628
NERtcFeatureSupportType
定义 NERtcEngineEnum.h:404
NERtcNetworkConnectionType
网络连接的类型。
定义 NERtcEngineEnum.h:3378
NERtcRangeAudioMode
定义 NERtcEngineEnum.h:2586
NERtcFeatureType
功能类型
定义 NERtcEngineEnum.h:392
NERtcStreamChannelType
SEI 发送的流通道类型。
定义 NERtcEngineEnum.h:1125
NERtcAudioSessionOperationRestriction
音频会话控制权限。 SDK 对 Audio Session 的控制权限。
定义 NERtcEngineEnum.h:2305
NERtcTransportType
云代理模式。
定义 NERtcEngineEnum.h:4116
NERtcVoiceBeautifierType
美声 预设值。
定义 NERtcEngineEnum.h:3031
NERtcVideoRenderScaleMode
视频渲染缩放模式。
定义 NERtcEngineEnum.h:794
NERtcMediaPriorityType
定义 NERtcEngineEnum.h:2607
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
定义 NERtcEngineEnum.h:2338
定义 NERtcEngineBase.h:3319
编码好的音频数据
定义 NERtcEngineBase.h:3004
音频帧。
定义 NERtcEngineBase.h:1532
摄像头采集配置。
定义 NERtcEngineBase.h:491
Options for creating audio effects
定义 NERtcEngineBase.h:819
Options for creating mixing audios
定义 NERtcEngineBase.h:701
配置媒体流加密模式和密钥。
定义 NERtcEngineBase.h:2235
Last mile 网络探测配置。
定义 NERtcEngineBase.h:2423
直播推流任务的配置。
定义 NERtcEngineBase.h:1321
定义 NERtcEngineBase.h:3453
定义 NERtcEngineBase.h:3253
3D 音效算法中坐标信息。
定义 NERtcEngineBase.h:3054
定义 NERtcEngineBase.h:3229
混响参数
定义 NERtcEngineBase.h:2725
3D 音效房间属性设置。
定义 NERtcEngineBase.h:3130
视频画布设置。
定义 NERtcEngineBase.h:299
视频图像畸变矫正相关设置。
定义 NERtcEngineBase.h:2624
定义 NERtcEngineBase.h:2962
视频帧信息。
定义 NERtcEngineBase.h:1622
本地辅流发送配置。
定义 NERtcEngineBase.h:661
视频水印设置,目前支持三种类型的水印,但只能其中选择一种水印生效。
定义 NERtcEngineBase.h:2181
自定义背景图像。
定义 NERtcEngineBase.h:2661