publishStreamAudio method

Future<int?> publishStreamAudio(
  1. bool publish
)

@detail api @valid since 3.60. 自 3.60 起,该接口替代了 publishStreamunpublishStreampublishScreenunpublishScreen 方法来实现下述功能。如果你已升级至 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}');
  }
}