概览
ar云平台 RTC 频道方法。
createRtcChannel
- (ARtcChannel * _Nullable)createRtcChannel:(NSString * _Nonnull)channelId;
实例化ARtcChannel对象
参数 | 描述 |
---|---|
channelId | 当前 ARtcChannel 对象的频道 ID |
返回值
一个ARtcChannel 实例对象。
destroy
- (int)destroy;
销毁 ARtcChannel 对象
返回值
0方法调用成功,<0方法调用失败。
setRtcChannelDelegate
- (void)setRtcChannelDelegate:(id<ARtcChannelDelegate> _Nullable)channelDelegate;
设置 ARtcChannel 对象的 Delegate
参数 | 描述 |
---|---|
channelDelegate | 详见channelDelegate |
getChannelId
- (NSString * _Nullable)getChannelId;
获取当前 ARtcChannel 对象的频道 ID
返回值
-
channelId
当前 ARtcChannel 对象的频道 ID
joinChannelByToken
- (int)joinChannelByToken:(NSString * _Nullable)token
uid:(NSString * _Nullable)uid
options:(ARtcChannelMediaOptions * _Nonnull)options;
通过用户 ID 加入频道
参数 | 描述 |
---|---|
token | 动态密钥 |
uid | 用户 ID |
options | 频道媒体设置选项 ARtcChannelMediaOptions |
返回值
0方法调用成功,<0方法调用失败。
leaveChannel
- (int)leaveChannel;
离开频道
离开频道,即挂断或退出通话。
返回值
0方法调用成功,<0方法调用失败。
publish
- (int)publish;
将本地音视频流发布到本频道
返回值
0方法调用成功,<0方法调用失败。
unpublish
- (int)unpublish;
停止将本地音视频流发布到本频道
返回值
0方法调用成功,<0方法调用失败。
setClientRole
- (int)setClientRole:(ARClientRole)role;
设置用户角色
该方法仅适用于直播场景。
在加入频道前,用户需要通过本方法设置观众(默认)或主播角色。在直播场景中,只有角色为主播时可调用 publish 方法。
如果你在加入频道后调用该方法切换用户角色,调用成功后会触发以下回调:
- 本地:didClientRoleChanged 回调。
- 远端:didJoinedOfUid 或 didOfflineOfUid 回调。
参数
参数 | 描述 |
---|---|
role | 直播场景里的用户角色 |
返回值
0方法调用成功,<0方法调用失败。
renewToken
- (int)renewToken:(NSString *_Nonnull)token;
更新 Token
该方法用于更新 Token。如果启用了 Token 机制,过一段时间后使用的 Token 会失效。当以下任意一种情况发生时:
- SDK 触发 tokenPrivilegeWillExpire 回调。
- connectionChangedToState 回调 reason 参数报告 ARConnectionChangedTokenExpired(9)。
App 应重新获取 Token,然后调用该 API 更新 Token,否则 SDK 无法和服务器建立连接。
注意事项: 推荐使用 rtcChannelRequestToken 回调报告 ARErrorCodeTokenExpired(-109),而不是 didOccurError 回调。
参数
参数 | 描述 |
---|---|
token | 新的token |
返回值
0方法调用成功,<0方法调用失败。
setRemoteRenderMode
- (int)setRemoteRenderMode:(NSString *_Nonnull)uid renderMode:(ARVideoRenderMode)renderMode mirrorMode:(ARVideoMirrorMode)mirrorMode;
更新远端视图显示模式
初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。
注意事项:
- 请在调用 setupRemoteVideo 方法初始化远端视图后,调用该方法。
- 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
参数 | 描述 |
---|---|
uid | 用户 ID |
renderMode | 远端用户视图的渲染模式,详见 ARVideoRenderMode。 |
mirrorMode | 远端用户视图的镜像模式,详见 ARVideoMirrorMode。 |
返回值
0方法调用成功,<0方法调用失败。
setDefaultMuteAllRemoteAudioStreams
- (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute;
设置是否默认接收音频流
该方法在加入频道前后都可调用。如果在加入频道后调用 setDefaultMuteAllRemoteAudioStreams (YES),会接收不到设置后加入频道的用户的音频流。
注意事项: 停止接收音频流后,如果想要恢复接收,请调用 muteRemoteAudioStream (NO),并指定你想要接收的远端用户 uid;如果想恢复接收多个用户的音频流,则需要多次调用 muteRemoteAudioStream。setDefaultMuteAllRemoteAudioStreams (NO) 只能恢复接收后面加入频道的用户的音频流。
参数
参数 | 描述 |
---|---|
mute | 设置是否默认接收音频流: |
返回值
0方法调用成功,<0方法调用失败。
setDefaultMuteAllRemoteVideoStreams
- (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute;
设置是否默认接收视频流
该方法在加入频道前后都可调用。如果在加入频道后调用setDefaultMuteAllRemoteVideoStreams(YES),会接收不到设置后加入频道的用户的视频流。
注意事项: 停止接收视频流后,如果想要恢复接收,请调用 muteRemoteVideoStream (NO),并指定你想要接收的远端用户 uid;如果想恢复接收多个用户的视频流,则需要多次调用 muteRemoteVideoStream。setDefaultMuteAllRemoteVideoStreams (NO) 只能恢复接收后面加入频道的用户的视频流。
参数 | 描述 |
---|---|
mute | 设置是否默认接收视频流: |
返回值
0方法调用成功,<0方法调用失败。
muteRemoteAudioStream
- (int)muteRemoteAudioStream:(NSString *_Nonnull)uid mute:(BOOL)mute;
停止/恢复接收指定用户的音频流
注意事项: 如果之前有调用过 muteAllRemoteAudioStreams(YES) 对所有远端音频进行静音,在调用本 API 之前请确保你已调用 muteAllRemoteAudioStreams(NO)。 muteAllRemoteAudioStreams 是全局控制,muteRemoteAudioStream 是精细控制。
参数 | 描述 |
---|---|
uid | 指定用户的用户 ID |
mute | 停止/恢复接收指定用户的音频流: |
返回值
0方法调用成功,<0方法调用失败。
adjustUserPlaybackSignalVolume
- (int)adjustUserPlaybackSignalVolume:(NSString *_Nonnull)uid volume:(int)volume;
调节本地播放的指定远端用户音量
加入频道后,你可以多次调用该方法调节不同远端用户在本地播放的音量,或对某个远端用户在本地播放的音量调节多次。
注意事项:
- 该方法要在加入频道后调用。
- 该方法调节的是本地播放的指定远端用户混音后的音量。
- 该方法每次只能调整一位远端用户在本地播放的音量。若需调整多位远端用户在本地播放的音量,则需多次调用该方法。
参数 | 描述 |
---|---|
uid | 远端用户 ID,需和远端用户加入频道时用的 uid 一致。 |
volume | 播放音量,取值范围为 [0,100]。 |
返回值
0方法调用成功,<0方法调用失败。
muteAllRemoteAudioStreams
- (int)muteAllRemoteAudioStreams:(BOOL)mute;
停止/恢复接收所有远端音频流
参数 | 描述 |
---|---|
mute | YES: 停止接收所有远端音频流;NO: 继续接收所有远端音频流(默认)。 |
返回值
0方法调用成功,<0方法调用失败。
muteRemoteVideoStream
- (int)muteRemoteVideoStream:(NSString *_Nonnull)uid mute:(BOOL)mute;
停止/恢复接收指定视频流
注意事项: 如果之前有调用过 muteAllRemoteVideoStreams(YES) 暂停接收所有远端视频,在调用本 API 之前请确保你已调用 muteAllRemoteVideoStreams(NO)。 muteAllRemoteVideoStreams 是全局控制,muteRemoteVideoStream 是精细控制。
参数 | 描述 |
---|---|
uid | 远端用户ID |
mute | 停止/恢复接收指定视频流: |
返回值
0方法调用成功,<0方法调用失败。
muteAllRemoteVideoStreams
- (int)muteAllRemoteVideoStreams:(BOOL)mute;
停止/恢复接收所有视频流
参数 | 描述 |
---|---|
mute | 禁止/允许接收所有人的视频流 |
返回值
0方法调用成功,<0方法调用失败。
setRemoteVideoStream
- (int)setRemoteVideoStream:(NSString *_Nonnull)uid type:(ARVideoStreamType)streamType;
设置默认订阅的视频流类型
参数 | 描述 |
---|---|
streamType | 设置默认接收的视频流类型,详见ARVideoStreamType。 |
返回值
0方法调用成功,<0方法调用失败。