onAudioDeviceStateChanged method

FutureOr<void> onAudioDeviceStateChanged(
  1. dynamic deviceID,
  2. dynamic deviceType,
  3. dynamic deviceState,
  4. dynamic deviceError,
)
override

@detail callback @author dixing @brief Audio device state callback, returns the state of audio capture and audio playback devices. @param deviceID Device ID @param deviceType Device type. See AudioDeviceType{@link #AudioDeviceType}. @param deviceState Device state. See MediaDeviceState{@link #MediaDeviceState}. @param deviceError Device error. See MediaDeviceError{@link #MediaDeviceError}.

Implementation

FutureOr<void> onAudioDeviceStateChanged(dynamic deviceID, dynamic deviceType,
    dynamic deviceState, dynamic deviceError) async {
  if ($instance == null || $instance is! IRTCEngineEventHandler) {
    return;
  }
  return ($instance as IRTCEngineEventHandler)
      .onAudioDeviceStateChanged
      ?.call(
          deviceID.toString(),
          t_AudioDeviceType.android_to_code($p_a.AudioDeviceType.values
              .firstWhere((t) =>
                  t.$value == deviceType || t.name == deviceType)),
          t_MediaDeviceState.android_to_code($p_a
              .MediaDeviceState.values
              .firstWhere((t) =>
                  t.$value == deviceState || t.name == deviceState)),
          t_MediaDeviceError.android_to_code(
              $p_a.MediaDeviceError.values.firstWhere(
                  (t) => t.$value == deviceError || t.name == deviceError)));
}