订阅与取消
对于仅自己发布,不跟其他人连麦注1 或 PK注2 的情况,并不需要执行订阅逻辑。如果连麦或 PK,则主播的订阅流程与会议模式相同。
提示
注1:连麦 是指在当前直播间内,主播邀请观众上麦,观众切换为主播后,主播们之间互相发布订阅的情况。 注2:PK 是指不同直播间的主播,相互订阅建立连接的情况。
订阅资源
直播房间内有多名主播时,主播之间也需要订阅才能相互看见、听见。需调用 RCRTCEngine
中的 Subscribe
来订阅单个或多个媒体流。
-
参数说明:
参数 类型 说明 remoteUserId String 远端用户 ID mediaType RCRTCMediaType 订阅远端用户的音视频资源类型 isTiny bool 是否订阅视频小流 -
示例代码:
// 订阅远端用户的小分辨率视频资源
var subTinyVideo = true;
Engine.Subscribe(remoteUserId, RCRTCMediaType.AUDIO_VIDEO, subTinyVideo);
批量订阅资源
所属类:RCRTCEngine
方法:Subscribe()
调用示例:
Engine.Subscribe(remoteUserIds);
-
参数说明:
参数 类型 说明 remoteUserIds IList<String>
远端用户 ID 列表 mediaType RCRTCMediaType 订阅远端用户的音视频资源类型 isTiny bool 是否订阅视频小流 -
示例代码:
// 订阅远端用户的小分辨率视频资源
var subTinyVideo = true;
Engine.Subscribe(new List<string>() { "remoteUserId1", "remoteUserId2" }, RCRTCMediaType.AUDIO_VIDEO, subTinyVideo);
取消订阅
当需要取消订阅时,可调用 RCRTCEngine
中的 Unsubscribe
来取消订阅一道流或多道流。取消订阅接口通常跟订阅接口配对使用,但如果是用户想要退出房间,则不需要调用取消订阅方法, 在调用退出房间接口时,SDK 内部会自动进行取消处理。
-
参数说明:
参数 类型 说明 remoteUserId String 远端用户 ID mediaType RCRTCMediaType 远端用户的音视频资源类型 -
示例代码:
Engine.Unsubscribe(remoteUserId, RCRTCMediaType.AUDIO_VIDEO);
批量取消订阅
所属类:RCRTCEngine
方法:Unsubscribe()
调用 示例:
Engine.Unsubscribe(remoteUserIds);
-
参数说明:
参数 类型 说明 remoteUserIds IList<String>
远端用户 ID 列表 mediaType RCRTCMediaType 远端用户的音视频资源类型 -
示例代码:
Engine.Unsubscribe(new List<string>() { "remoteUserId1", "remoteUserId2" }, RCRTCMediaType.AUDIO_VIDEO);