10#define INERtcChannel_h
12#import <Foundation/Foundation.h>
17#pragma clang diagnostic push
18#pragma clang diagnostic ignored "-Wdocumentation"
20NS_ASSUME_NONNULL_BEGIN
32@protocol INERtcChannel <NSObject>
60- (int)setChannelDelegate:(nullable
id<NERtcChannelDelegate>)channelDelegate;
73- (int)setDelegateQueue:(nullable dispatch_queue_t)delegateQueue;
178- (int)joinChannelWithToken:(NSString *)token
257- (int)joinChannelWithToken:(NSString *)token
337- (int)joinChannelWithToken:(NSString *)token
340 completion:(
void(^)(NSError * _Nullable error, uint64_t channelId, uint64_t elapesd, uint64_t uid,
NERtcJoinChannelExtraInfo * _Nullable info))completion;
431- (int)enableLocalAudio:(BOOL)enabled;
484- (int)enableLocalVideo:(BOOL)enabled;
633- (int)enableDualStreamMode:(BOOL)enable;
995- (int)subscribeRemoteAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
1045- (int)subscribeAllRemoteAudio:(BOOL)subscribe;
1075- (int)setAudioSubscribeOnlyBy:(NSArray<NSNumber*> *)uidArray;
1126- (int)muteLocalAudio:(BOOL)muted;
1162- (int)enableAudioVolumeIndication:(BOOL)enable interval:(uint64_t)interval vad:(BOOL)enableVad;
1620- (int)muteLocalVideo:(BOOL)muted;
1878- (int)adjustUserPlaybackSignalVolume:(uint32_t)volume forUserID:(uint64_t)userID;
1915- (int)adjustChannelPlaybackSignalVolume:(uint32_t)volume;
1917#pragma mark - Audio Sub Stream
1943- (int)enableLocalSubStreamAudio:(BOOL)enabled;
2000- (int)subscribeRemoteSubStreamAudio:(BOOL)subscribe forUserID:(uint64_t)userID;
2026- (int)muteLocalSubStreamAudio:(BOOL)muted;
2029#pragma mark - Sub Stream
2275- (int)setupRemoteSubStreamVideoCanvas:(
NERtcVideoCanvas * _Nullable)canvas forUserID:(uint64_t)userID;
2331- (int)subscribeRemoteSubStreamVideo:(BOOL)subscribe forUserID:(uint64_t)userID;
2420- (int)setRemoteHighPriorityAudioStream:(BOOL)enable forUserID:(uint64_t)userID streamType:(
NERtcAudioStreamType)streamType;
2435#pragma mark - 3D Audio
2455-(int)setRangeAudioTeamID:(int32_t)teamId;
2520- (int)enableSpatializerRoomEffects:(BOOL)enabled;
2573- (int)enableSpatializer:(BOOL)enabled applyToTeam:(BOOL)applyToTeam;
2575#pragma mark - ASL black and white list
2607- (int)setSubscribeAudioAllowlist:(NSArray<NSNumber*> *)uidArray;
2609#pragma mark - Snapshot
2748- (int)sendSEIMsg:(NSData *)data;
2750#pragma mark - Live Stream
2939- (int)addChannelMediaStatsObserver:(
id<NERtcChannelMediaStatsObserver>)observer;
2955- (int)removeChannelMediaStatsObserver:(
id<NERtcChannelMediaStatsObserver>)observer;
3283- (int)updatePermissionKey:(NSString *)key;
3357#pragma mark - Video Blend
3483- (int)reportCustomEvent:(NSString *)eventName
3484 customIdentify:(NSString *)customIdentify
3485 param:(NSDictionary *)param;
3489NS_ASSUME_NONNULL_END
3491#pragma clang diagnostic pop
void(^ NERtcTakeSnapshotCallback)(int errorCode, UIImage *_Nullable image)
截图结果 block 回调。
定义 INERtcEngine.h:74
void(^ NERtcJoinChannelCompletion)(NSError *_Nullable error, uint64_t channelId, uint64_t elapesd, uint64_t uid)
加入房间 block。
定义 INERtcEngine.h:36
void(^ NERtcLiveStreamCompletion)(NSString *taskId, kNERtcLiveStreamError errorCode)
互动直播推流 block。
定义 INERtcEngine.h:50
NERtcVideoLowlightEnhanceLevel
定义 NERtcEngineEnum.h:4362
NERtcMediaPubType
媒体 pub 类型。
定义 NERtcEngineEnum.h:235
NERtcVideoStreamLayerCount
定义 NERtcEngineEnum.h:504
NERtcSpatializerRenderMode
空间音效渲染模式
定义 NERtcEngineEnum.h:2551
NERtcDistanceRolloffModel
空间音效衰减模式
定义 NERtcEngineEnum.h:2577
NERtcConnectionStateType
当前房间的连接状态。
定义 NERtcEngineEnum.h:45
NERtcCameraPosition
指定的摄像头位置。
定义 NERtcEngineEnum.h:1470
NERtcRemoteVideoStreamType
远端视频流类型。
定义 NERtcEngineEnum.h:709
NERtcStreamFallbackOptions
定义 NERtcEngineEnum.h:2638
NERtcRangeAudioMode
定义 NERtcEngineEnum.h:2596
NERtcClientRole
用户角色。
定义 NERtcEngineEnum.h:206
NERtcStreamChannelType
SEI 发送的流通道类型。
定义 NERtcEngineEnum.h:1135
NERtcVideoRenderScaleMode
视频渲染缩放模式。
定义 NERtcEngineEnum.h:794
NERtcMediaPriorityType
定义 NERtcEngineEnum.h:2617
NERtcAudioStreamType
音频流类型,目前同时支持音频两路流:主流和辅流
定义 NERtcEngineEnum.h:2348
摄像头采集配置。
定义 NERtcEngineBase.h:491
需要应用马赛克效果的归一化区域(0~1)。
定义 NERtcEngineBase.h:3577
joinChannel 时的一些可选信息
定义 NERtcEngineBase.h:2831
直播推流任务的配置。
定义 NERtcEngineBase.h:1338
3D 音效算法中坐标信息。
定义 NERtcEngineBase.h:3071
3D 音效房间属性设置。
定义 NERtcEngineBase.h:3147
视频画布设置。
定义 NERtcEngineBase.h:299
本地视频发送配置
定义 NERtcEngineBase.h:555
外部视频混合配置。
定义 NERtcEngineBase.h:3625
视频帧信息。
定义 NERtcEngineBase.h:1639
本地辅流发送配置。
定义 NERtcEngineBase.h:661
int switchCamera()
切换前置/后置摄像头。 该方法需要在相机启动后调用,例如调用 startPreview 或 joinChannel 后。
int initSpatializer()
初始化引擎 3D 音效算法
int leaveChannel()
离开音视频房间。 通过本接口可以实现挂断或退出通话,并释放本房间内的相关资源。
int stopScreenCapture()
关闭屏幕共享。 通过此接口可以实现关闭屏幕共享辅流。
NERtcConnectionStateType connectionState()
获取当前房间连接状态。
int stopChannelMediaRelay()
停止跨房间媒体流转发。 通常在主播离开房间时,跨房间媒体流转发会自动停止;您也可以根据需要随时调用该方法,此时主播会退出所有目标房间。
int resumeChannelMediaRelay()
恢复跨房间媒体流转发。
int clearRemoteHighPriorityAudioStream()
清除之前设置的所有高优先级音频流。
int pauseChannelMediaRelay()
暂停跨房间媒体流转发。
int cleanupChannelMediaStatsObserver()
清除全部媒体统计信息观测器。
NSString * getChannelName()
获取当前房间名。