Третий селект в DeviceSettingsDialog (динамики/наушники/bluetooth) рядом с уже существующими микрофоном и камерой — на useMediaDeviceSelect(kind: 'audiooutput'). Выбор персистится отдельно от usePersistentUserChoices (LocalUserChoices LiveKit про аудиовыход не знает) и применяется заново при следующем подключении через RoomOptions.audioOutput. Поддержка определяется по наличию setSinkId в рантайме, не по User-Agent: там, где браузер не умеет переключать вывод (iOS Safari), список скрыт, вместо него — подсказка, что маршрутизация звука на стороне системы.
1.5 KiB
1.5 KiB