Я хочу попробовал несколько методов для достижения этой цели, но ни один из них пока не сработал:
- Прослушивание событий медиа-элемента:
Я добавлены прослушиватели событий для событий паузы, завершения, остановки, ожидания и ошибки в элементе или. Однако ни одно из этих событий не срабатывает при отключении гарнитуры Bluetooth в Chrome для Android.
Код: Выделить всё
mediaElement.addEventListener('pause', handlePause);
mediaElement.addEventListener('ended', handleEnded);
mediaElement.addEventListener('stalled', handleStalled);
mediaElement.addEventListener('waiting', handleWaiting);
mediaElement.addEventListener('error', handleError);
- Использование navigator.mediaDevices.ondevicechange: я попытался использовать navigator.mediaDevices.ondevicechange событие для обнаружения изменений в подключенных устройствах. Однако это событие недоступно в Chrome для Android.
- Web Bluetooth API: я рассматривал возможность использования веб-интерфейса Bluetooth. Bluetooth API для обнаружения отключения гарнитуры Bluetooth. К сожалению, API разработан для устройств Bluetooth Low Energy (BLE) и не поддерживает классические аудиоустройства Bluetooth, такие как гарнитуры.
Я заметил, что когда я смотрю видео на YouTube в Chrome для Android и отключаю Bluetooth-гарнитуру, видео автоматически приостанавливается. Это говорит о том, что в веб-приложении можно обнаружить отключение аудиоустройства Bluetooth.
Вопрос:
Как я могу обнаружить отключение Bluetooth-гарнитуры в веб-приложении с помощью JavaScript, чтобы я мог приостановить или остановить воспроизведение мультимедиа, когда это произойдет? Существуют ли какие-либо API или обходные пути, которые могут помочь реализовать эту функцию, особенно в Chrome для Android?
Дополнительная информация:
- Я нацелен на мобильных пользователей, которые могут переключаться между устройствами вывода звука.
- Решение должно работать специально в Chrome для Android.
- Я понимаю, что в браузерах могут быть ограничения безопасности и конфиденциальности.
Подробнее здесь: https://stackoverflow.com/questions/791 ... chrome-for