in amazon-chime-sdk/src/main/java/com/amazonaws/services/chime/sdk/meetings/device/DefaultDeviceController.kt [160:177]
override fun chooseAudioDevice(mediaDevice: MediaDevice) {
if (DefaultAudioClientController.audioClientState != AudioClientState.STARTED) {
return
}
setupAudioDevice(mediaDevice.type)
val route = when (mediaDevice.type) {
MediaDeviceType.AUDIO_BUILTIN_SPEAKER -> AudioClient.SPK_STREAM_ROUTE_SPEAKER
MediaDeviceType.AUDIO_BLUETOOTH -> AudioClient.SPK_STREAM_ROUTE_BT_AUDIO
MediaDeviceType.AUDIO_WIRED_HEADSET -> AudioClient.SPK_STREAM_ROUTE_HEADSET
MediaDeviceType.AUDIO_USB_HEADSET -> AudioClient.SPK_STREAM_ROUTE_HEADSET
else -> AudioClient.SPK_STREAM_ROUTE_RECEIVER
}
val selected = audioClientController.setRoute(route)
if (selected) {
eventAnalyticsController.pushHistory(MeetingHistoryEventName.audioInputSelected)
}
}