Как я могу получить права доступа пользователя к медиафайлам (камера и микрофон) браузера Firefox через код JavaScript? - PullRequest
0 голосов
/ 30 ноября 2018

Код ниже работает правильно в браузере Chrome:

Для микрофона:

 navigator.permissions.query({name: 'microphone'})
    .then((permission) => {
        console.log("microphone state", permission.state);
    }).catch((error) => {
        console.log('Got error :', error);
    })

Для камеры:

 navigator.permissions.query({name: 'camera'})
    .then((permission) => {
        console.log("camera state", permission.state);
    }).catch((error) => {
        console.log('Got error :', error);
    })

Тот же код выше неработая в браузере Firefox, где я получаю следующие ошибки:

Для микрофона: Ошибка:

TypeError: "name" member of PermissionDescriptor 'микрофон 'не является допустимым значением для перечисления PermissionName. "

enter image description here

Для камеры : ошибка:

TypeError: "Элемент 'name' в PermissionDescriptor 'camera' не является допустимым значением для перечисления PermissionName."

Любой, у кого есть идея, как получить пользовательское состояние разрешения для медиа для камеры и микрофона вБраузер Firefox?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Я недавно сделал нечто подобное, и это сработало на Firefox:

navigator.mediaDevices.getUserMedia( { audio: true, video: false } )
   .then( ( stream ) => {
        // microphone available
   },
   e => {
        // microphone not available
   } );

Взят от здесь .

0 голосов
/ 30 ноября 2018

Согласно этой проблеме на GitHub (в частности этот комментарий), Firefox просто не поддерживает камеру и микрофон.

Есть некоторые причины для этого, который, вероятно, слишком технический, поэтому эта функция, которую вы пытаетесь реализовать, в настоящий момент недостижима (пока Firefox не выяснит)

С наилучшими пожеланиями <3 </p>

...