speaker property

AudioSpeakerKind get speaker

Returns the AudioSpeakerKind of these MediaDeviceDetails.

Only meaningful, if these MediaDeviceDetails are of MediaDeviceKind.audioOutput.

Implementation

AudioSpeakerKind get speaker {
  return switch (audioDeviceKind()) {
    AudioDeviceKind.earSpeaker => AudioSpeakerKind.earpiece,
    AudioDeviceKind.speakerphone => AudioSpeakerKind.speaker,
    AudioDeviceKind.wiredHeadphones => AudioSpeakerKind.headphones,
    AudioDeviceKind.wiredHeadset => AudioSpeakerKind.headphones,
    AudioDeviceKind.usbHeadphones => AudioSpeakerKind.headphones,
    AudioDeviceKind.usbHeadset => AudioSpeakerKind.headphones,
    AudioDeviceKind.bluetoothHeadphones => AudioSpeakerKind.headphones,
    AudioDeviceKind.bluetoothHeadset => AudioSpeakerKind.headphones,
    null => switch (deviceId()) {
      'ear-speaker' || 'ear-piece' => AudioSpeakerKind.earpiece,
      'speakerphone' || 'speaker' => AudioSpeakerKind.speaker,
      (_) => AudioSpeakerKind.headphones,
    },
  };
}