Я использую 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
. Я надеюсь, что я смог правильно описать то, что я хочу, я буду очень признателен, если кто-то может помочь.