检查野生动物园的麦克风许可

时间:2018-07-11 22:02:01

标签: javascript reactjs safari

我看到野生动物园不支持Permissions.query。还有其他方法可以检查是否已授予麦克风权限。

1 个答案:

答案 0 :(得分:0)

这很老了,但希望可以对某人有所帮助,这是我所做的:

// Check if mediaDevices loaded.
if(navigator.mediaDevices != undefined) {
  //Req microphone permissions
  navigator.mediaDevices.getUserMedia({audio: true}).then(function(stream) {
    // Mic permissions granted, handle however you wish
  }).catch(function(err) {
     // Mic permissions denied, handle however you wish
   })
} else {
  // Out of luck at this point, handle however you wish.
}

文档中的解释:

它返回一个Promise,该Promise解析为MediaStream对象。如果 用户拒绝权限,或匹配的媒体不可用,则 承诺被NotAllowedError或NotFoundError拒绝 分别。

对此的警告如下:

如果当前文档未安全加载,请navigator.mediaDevices 将是未定义的,并且您不能使用getUserMedia()。

Please see here for further information.