Как изменить аудио вход по умолчанию - PullRequest
0 голосов
/ 07 ноября 2019

Я могу получить список устройств, используя обещание enumerateDevices;но как мне изменить микрофон по умолчанию на основе выбора пользователя. так что в этом случае, как я могу сделать «Audio 40 USB» микрофоном по умолчанию для клиента?

 navigator.mediaDevices.enumerateDevices().then(devices => {
        for (let i = 0; i < devices.length; i++) {
            if (devices[i].kind === "audioinput" && devices[i].label.includes('Audio 40 USB')) {

               //devices[i].deviceId ='default'; // make this devaice into default microphone
               // break;
            }
        }
    });

Я думаю, что нашел ответ, по умолчанию он будет

audio: {deviceId: audioSource? {точный: audioSource}: не определено}

1 Ответ

1 голос
/ 07 ноября 2019

Вы не можете установить «по умолчанию», что бы это ни значило, так как в действительности нет «по умолчанию». Когда вы устанавливаете широкую { audio: true } MediaConstraint, браузер должен сначала спросить пользователя, какое устройство ввода звука использовать из списка (в случае, если таких устройств несколько). При следующих запросах возможно, что браузер запомнит этот выбор и не будет запрашивать снова.

Однако вы можете очень хорошо форсировать использование определенного устройства, используя { audio: { deviceId: device.deviceId } }, где device - этоMediaDeviceInfo вы собрали с mediaDevices.enumerateDevices.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...