onUserPublishStreamAudio method

FutureOr<void> onUserPublishStreamAudio(
  1. dynamic streamId,
  2. dynamic streamInfo,
  3. dynamic isPublish
)
override

@detail callback @valid since 3.60. 自 3.60 起,该回调替代了 onUserPublishStreamonUserUnpublishStreamonUserPublishScreenonUserUnpublishScreen 方法来实现下述功能。如果你已升级至 3.60 及以上版本 SDK,且还在使用这两个方法,请迁移至该回调。 @author xuyiling.x10 @brief 房间内远端用户发布或取消发布音频流的回调。 @param streamId 流 ID,用于标识特定的音频流。 @param streamInfo 流信息结构体,包含房间 ID、用户 ID 等详细信息,参看 StreamInfo{@link #StreamInfo}。 @param isPublish 远端用户是否发布音频流。 + true:已发布。 + false:已取消发布或未发布。 @note 当房间内的远端用户调用 publishStreamAudio{@link #RTCRoom#publishStreamAudio} 发布或取消发布音频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStreamAudio{@link #RTCRoom#subscribeStreamAudio} 订阅或取消订阅此流。

Implementation

FutureOr<void> onUserPublishStreamAudio(
    dynamic streamId, dynamic streamInfo, dynamic isPublish) async {
  if ($instance == null || $instance is! IRTCRoomEventHandler) {
    return;
  }
  return ($instance as IRTCRoomEventHandler).onUserPublishStreamAudio?.call(
      streamId.toString(),
      packObject(
          streamInfo,
          () => StreamInfo.fromMap(StreamInfo.deepPackedMapValues(
              StreamInfo.mapMemberToConstructorParams(streamInfo)))),
      isPublish);
}