订阅与取消
对于仅自己发布,不跟其他人 连麦
注 的情况,并不需要执行订阅逻辑。
提示
连麦
是指在当前直播间内,主播邀请观众上麦,观众切换为主播后,主播们之间互相发布订阅的情况。
订阅资源
直播房间内有多名主播时,主播之间也需要订阅才能相互看见、听见。需调用 RCRTCEngine
中的 subscribe
来订阅主播资源。
方法
JavaScript
rtcEngine.subscribe(userId, type, tiny);
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
userId | String | 是 | 远端主播 ID |
type | RCRTCMediaType | 是 | 资源类型 |
tiny | Boolean | 否 | 是否订阅小流,默认 false |
示例代码
JavaScript
// 订阅音视频资源
rtcEngine.subscribe(userId, RCRTCMediaType.AudioVideo);
console.log('订阅主播音视频资源');
// 订阅音频资源
rtcEngine.subscribe(userId, RCRTCMediaType.Audio);
console.log('订阅主播音频资源');
// 订阅视频小流
rtcEngine.subscribe(userId, RCRTCMediaType.Video, true);
console.log('订阅主播视频小流');
// 订阅视频大流
rtcEngine.subscribe(userId, RCRTCMediaType.Video, false);
console.log('订阅主播视频大流');
取消订阅
当需要取消订阅时,可调用 RCRTCEngine
中的 unsubscribe
来取消订阅主播资源。取消订阅接口通常跟订阅接口配对使用,但如果是用户想要退出房间,则不需要调用取消订阅方法,在调用退出房间接口时,SDK 内部会自动进行取消处理。
方法
JavaScript
rtcEngine.unsubscribe(userId, type);
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
userId | String | 是 | 远端主播 ID |
type | RCRTCMediaType | 是 | 资源类型 |
示例代码
JavaScript
// 取消订阅音视频资源
rtcEngine.unsubscribe(userId, RCRTCMediaType.AudioVideo);
console.log('取消订阅主播音视频资源');
// 取消订阅音频资源
rtcEngine.unsubscribe(userId, RCRTCMediaType.Audio);
console.log('取消订阅主播音频资源');
// 取消订阅视频资源
rtcEngine.unsubscribe(userId, RCRTCMediaType.Video);
console.log('取消订阅主播视频资源');