Но в мобильных устройствах это просто показывает «по умолчанию» и не перечисляет все устройства аудио выходных данных, подключенные к мобильному мобильному мобилу. И как я могу их переключить? Даже если решение не вживую.
Код: Выделить всё
const useSpeakerDevices = () => {
const [speakerDevices, setSpeakerDevices] = useState([]);
const getSpeakerDevices = useCallback(async () => {
if (!navigator.mediaDevices?.enumerateDevices) return [];
const allDevices = await navigator.mediaDevices.enumerateDevices();
return allDevices.filter(device => device.kind === "audiooutput");
}, []);
useEffect(() => {
(async () => {
const audioDevices = await getSpeakerDevices();
setSpeakerDevices(audioDevices);
})();
}, [getSpeakerDevices]);
return speakerDevices;
};
Подробнее здесь: https://stackoverflow.com/questions/797 ... -selection
Мобильная версия