js getUserMedia () как запомнить разрешение от пользователя - PullRequest
0 голосов
/ 04 апреля 2020

Я использую webRT C для видеовызова, и я хочу знать, есть ли способ запомнить разрешения, предоставленные пользователем. Мне это нужно для Firefox. В моем коде есть функция, которая позволяет пользователю менять камеру во время видеовызова, или, если во время разговора отключается камера, автоматически выбирается следующая доступная камера. Для показа имен устройств мультимедиа я использую navigator.mediaDevices.enumerateDevices(), но эта функция возвращает пустые имена в Firefox, потому что мне нужно использовать эту функцию каждый раз, как это

navigator.mediaDevices.getUserMedia({video: true, audio: true}).then(stream => {
    navigator.mediaDevices.enumerateDevices().then(deviceInfo => {
        ...                           
    });
});

Я могу использовать этот код каждый раз время, когда мне нужны имена, но это вызывает неудобства, когда каждый раз отображается модальное разрешение на использование медиаустройств, потому что в моем коде я использую эту функцию много раз navigator.mediaDevices.enumerateDevices() (устройства могут быть добавлены или удалены, и мне нужно проверить имена устройств снова каждый раз). Когда Firefox запрашивает доступ для использования медиаустройствами, мы можем установить флажок Remember this decision, и тогда все работает хорошо, и это то, что мне нужно как-то использовать в моем коде. Все отлично работает в Chrome. Я надеюсь, что я смог правильно описать то, что я хочу, я буду очень признателен, если кто-то может помочь.

...