rtcEngine$onRemoteAudioStateChanged$info$state$reason method

FutureOr<void> rtcEngine$onRemoteAudioStateChanged$info$state$reason(
  1. dynamic engine,
  2. dynamic streamId,
  3. dynamic info,
  4. dynamic state,
  5. dynamic reason,
)
override

@detail callback @author zhangyuanyuan.0101 @brief 订阅的远端音频流状态发生改变时,收到此回调。 @param engine ByteRTCEngine 对象 @param streamId 远端流 ID。 @param info 远端流信息,参看 ByteRTCStreamInfo{@link #ByteRTCStreamInfo}。 @param state 远端音频流的当前状态,详见 ByteRTCRemoteAudioState{@link #ByteRTCRemoteAudioState} @param reason 远端音频流状态改变的原因,详见 ByteRTCRemoteAudioStateChangeReason{@link #ByteRTCRemoteAudioStateChangeReason}

Implementation

FutureOr<void> rtcEngine$onRemoteAudioStateChanged$info$state$reason(
    dynamic engine,
    dynamic streamId,
    dynamic info,
    dynamic state,
    dynamic reason) async {
  if ($instance == null || $instance is! IRTCEngineEventHandler) {
    return;
  }
  return ($instance as IRTCEngineEventHandler)
      .onRemoteAudioStateChanged
      ?.call(
          streamId.toString(),
          packObject(
              info,
              () => StreamInfo.fromMap(StreamInfo.deepPackedMapValues(
                  StreamInfo.mapMemberToConstructorParams(info)))),
          t_RemoteAudioState.ios_to_code($p_i.ByteRTCRemoteAudioState.values
              .firstWhere((t) => t.$value == state || t.name == state)),
          t_RemoteAudioStateChangeReason.ios_to_code($p_i
              .ByteRTCRemoteAudioStateChangeReason.values
              .firstWhere((t) => t.$value == reason || t.name == reason)));
}