onRemoteAudioStateChanged method

FutureOr<void> onRemoteAudioStateChanged(
  1. dynamic streamId,
  2. dynamic streamInfo,
  3. dynamic state,
  4. dynamic reason,
)
override

@detail callback @author zhangyuanyuan.0101 @brief 用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。 @param streamId 远端流 ID @param streamInfo 远端流信息, 详见 StreamInfo{@link #StreamInfo} @param state 远端音频流状态,详见 RemoteAudioState{@link #RemoteAudioState} @param reason 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason{@link #RemoteAudioStateChangeReason}

Implementation

FutureOr<void> onRemoteAudioStateChanged(dynamic streamId, dynamic streamInfo,
    dynamic state, dynamic reason) async {
  if ($instance == null || $instance is! IRTCEngineEventHandler) {
    return;
  }
  return ($instance as IRTCEngineEventHandler)
      .onRemoteAudioStateChanged
      ?.call(
          streamId.toString(),
          packObject(
              streamInfo,
              () => StreamInfo.fromMap(StreamInfo.deepPackedMapValues(
                  StreamInfo.mapMemberToConstructorParams(streamInfo)))),
          t_RemoteAudioState.android_to_code($p_a.RemoteAudioState.values
              .firstWhere((t) => t.$value == state || t.name == state)),
          t_RemoteAudioStateChangeReason.android_to_code($p_a
              .RemoteAudioStateChangeReason.values
              .firstWhere((t) => t.$value == reason || t.name == reason)));
}