subscribeAllStreamsVideo method
@detail api
@valid since 3.60. 自 3.60 起,该接口替代了 subscribeAllStreams 和 unsubscribeAllStreams 方法来实现下述功能。如果你已升级至 3.60 及以上版本,且仍在使用这两个方法,请迁移至该接口。
@author yejing.luna
@brief 订阅/取消订阅房间内所有远端视频流(通过摄像头采集的)。
@param subscribe 是否订阅所有远端视频流。
- true: 订阅。
- false: 取消订阅。
@return
- 0: 成功。
- < 0: 失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。
@note
- 多次调用订阅接口时,将根据末次调用接口和传入的参数,更新订阅配置:subscribeStreamVideo{@link #RTCRoom#subscribeStreamVideo}、subscribeStreamAudio{@link #RTCRoom#subscribeStreamAudio}。
- 开启音频选路后,如果房间内的媒体流超过上限,建议通过调用单流订阅接口逐一指定需要订阅的媒体流。
- 调用该方法后,你会收到 onVideoSubscribeStateChanged{@link #IRTCRoomEventHandler#onVideoSubscribeStateChanged}、onAudioSubscribeStateChanged{@link #IRTCRoomEventHandler#onAudioSubscribeStateChanged} 通知方法调用结果,包含异常原因。
- 成功订阅远端用户的媒体流后,订阅关系将持续到调用 subscribeStreamVideo{@link #RTCRoom#subscribeStreamVideo}、subscribeStreamAudio{@link #RTCRoom#subscribeStreamAudio} 取消订阅或本端用户退房。
@order 5
Implementation
Future<int?> subscribeAllStreamsVideo(bool subscribe) async {
$a() => ($instance as $p_a.RTCRoom).subscribeAllStreamsVideo(subscribe);
$i() => ($instance as $p_i.ByteRTCRoom).subscribeAllStreamsVideo(subscribe);
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}