subscribeAllStreamsAudio 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?> subscribeAllStreamsAudio(bool subscribe) async {
$a() => ($instance as $p_a.RTCRoom).subscribeAllStreamsAudio(subscribe);
$i() => ($instance as $p_i.ByteRTCRoom).subscribeAllStreamsAudio(subscribe);
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}