onAudioFrameSendStateChanged method

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

@detail callback @author wangjunzheng @brief Triggered when the local audio first frame send state changes. @param streamId Stream ID. @param streamInfo Stream information. See StreamInfo{@link #StreamInfo}. @param user User information. See RtcUser{@link #RtcUser}. @param state The first frame send state. See FirstFrameSendState{@link #FirstFrameSendState} for specific indications.

Implementation

FutureOr<void> onAudioFrameSendStateChanged(
    dynamic streamId, dynamic streamInfo, dynamic user, dynamic state) async {
  if ($instance == null || $instance is! IRTCEngineEventHandler) {
    return;
  }
  return ($instance
          as IRTCEngineEventHandler)
      .onAudioFrameSendStateChanged
      ?.call(
          streamId.toString(),
          packObject(
              streamInfo,
              () => StreamInfo.fromMap(
                  StreamInfo.deepPackedMapValues(
                      StreamInfo.mapMemberToConstructorParams(streamInfo)))),
          packObject(
              user,
              () => RtcUser.fromMap(RtcUser
                  .deepPackedMapValues(RtcUser.mapMemberToConstructorParams(
                      user)))),
          t_FirstFrameSendState.android_to_code($p_a
              .FirstFrameSendState.values
              .firstWhere((t) => t.$value == state || t.name == state)));
}