rtcEngine$onAudioFrameSendStateChanged$info$rtcUser$state method

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

@detail callback @author zhangyuanyuan.0101 @brief 本地音频首帧发送状态发生改变时,收到此回调。 @param engine ByteRTCEngine 对象 @param streamId 流 ID @param info 流信息,参看 ByteRTCStreamInfo{@link #ByteRTCStreamInfo} @param user 本地用户信息,详见 ByteRTCUser{@link #ByteRTCUser} @param state 首帧发送状态,详见 ByteRTCFirstFrameSendState{@link #ByteRTCFirstFrameSendState}

Implementation

FutureOr<void> rtcEngine$onAudioFrameSendStateChanged$info$rtcUser$state(
    dynamic engine,
    dynamic streamId,
    dynamic info,
    dynamic user,
    dynamic state) async {
  if ($instance == null || $instance is! IRTCEngineEventHandler) {
    return;
  }
  return ($instance
          as IRTCEngineEventHandler)
      .onAudioFrameSendStateChanged
      ?.call(
          streamId.toString(),
          packObject(
              info,
              () => StreamInfo.fromMap(
                  StreamInfo.deepPackedMapValues(
                      StreamInfo.mapMemberToConstructorParams(info)))),
          packObject(
              user,
              () => RtcUser.fromMap(RtcUser
                  .deepPackedMapValues(RtcUser.mapMemberToConstructorParams(
                      user)))),
          t_FirstFrameSendState.ios_to_code($p_i
              .ByteRTCFirstFrameSendState.values
              .firstWhere((t) => t.$value == state || t.name == state)));
}