publishStreamAudio method
@detail api
@valid since 3.60. 自 3.60 起,该接口替代了 publishStream、unpublishStream 、publishScreen 和 unpublishScreen 方法来实现下述功能。如果你已升级至 3.60 及以上版本,并且仍在使用这两个方法,请迁移到此接口。
@region 房间管理
@author xuyiling.x10
@brief 发布/取消发布音频流。
@param publish 是否发布音频流。
- true: 发布。
- false: 取消发布。
@return
- 0: 调用成功。
- < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明
@note
- 如果你已经在用户进房时通过调用 joinRoom{@link #RTCRoom#joinRoom} 成功选择了自动发布,则无需再调用本接口。
- 调用 setUserVisibility{@link #RTCRoom#setUserVisibility} 方法将自身设置为不可见后无法调用该方法,需将自身切换至可见后方可调用该方法发布音频流。
- 如果你需要发布摄像头采集到的视频流,调用 publishStreamVideo{@link #RTCRoom#publishStreamVideo}。
- 如果你需要向多个房间发布流,调用 startForwardStreamToRooms{@link #RTCRoom#startForwardStreamToRooms}。
- 调用此方法后,房间中的所有远端用户会收到 onUserPublishStreamAudio{@link #IRTCRoomEventHandler#onUserPublishStreamAudio} 回调通知,其中成功收到了音频流的远端用户会收到 onFirstRemoteAudioFrame{@link #IRTCEngineEventHandler#onFirstRemoteAudioFrame} 回调。
@order 0
Implementation
Future<int?> publishStreamAudio(bool publish) async {
$a() => ($instance as $p_a.RTCRoom).publishStreamAudio(publish);
$i() => ($instance as $p_i.ByteRTCRoom).publishStreamAudio(publish);
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}