Используя следующее, мы можем предложить пользователю выбрать предпочтительное устройство ввода мультимедиа с ограничениями на аудио и видео источник (в настоящее время интересуется только поддержкой Chrome).Проверьте, отключен ли выбранный микрофон или нет с веб-аудио. Api
navigator.mediaDevices.getUserMedia({audio: true})
.then((stream) => {
console.log(stream);
});
Кто-нибудь знает, есть ли открытый API для обнаружения, если выбранное пользователем устройство ввода в настоящее время отключено или нет? Устройство ввода будет либо встроенным микрофоном, либо микрофоном, либо программным микрофоном, который отображается в системе как аппаратное устройство.
Это, похоже, не отражает фактическое приглушенное состояние микрофона в Chrome 57 (Windows 10) даже при выборе конкретного микрофона 'Default' с помощью 'deviceId'. –
@ChrisHunt Свойство 'volume'' contraints' также может быть установлено. См. [Возможности, ограничения и настройки] (https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/applyConstraints). Как был отключен микрофон? Можете ли вы описать, как воспроизвести дело? Вы прикрепляли события 'onmute',' onunmute' к 'MediaStreamTrack'? – guest271314
Сначала определите включенный микрофон под лотком> контекстное меню значка звука> устройства записи> аудио. Используйте 'navigator.mediaDevices.enumerateDevices()' для идентификации 'deviceId' для устройства с той же меткой. Используйте 'navigator.mediaDevices.getUserMedia ({audio: {deviceId: '...'}})', чтобы выбрать устройство. Убедитесь, что 'track = stream.getTracks() [0]' соответствует устройству и проверяет 'track.muted'. Отключите микрофон через вкладку «Уровни» для конкретного устройства в диалоговом окне «Устройства записи». Проверьте «track.muted» и убедитесь, что он не изменился. –