使用 DetectRTC 检测麦克风权限

JCA*_*era 4 javascript detectrtc

我正在使用 JavaScript 库DetectRTC来检测浏览器是否可以使用麦克风和其他东西。

if(DetectRTC.isWebsiteHasMicrophonePermissions){
    //Is ok
}else{
    //Can't use microphone
}
Run Code Online (Sandbox Code Playgroud)

该网站有使用麦克风的权限,但DetectRTC.isWebsiteHasMicrophonePermissions仍然是假的。所以我试图在控制台上打印对象,我得到它isWebsiteHasMicrophonePermissions被设置为 true。但是当我单独打印变量时,它再次变为 false。

console.log(DetectRTC); //isWebsiteHasMicrophonePermissions: true
console.log(DetectRTC.isWebsiteHasMicrophonePermissions) //false
Run Code Online (Sandbox Code Playgroud)

这是错误还是什么?我该如何解决?

Nit*_*Nit 5

文档中所述,您需要使用DetectRTC.load()来等待检测音频/视频输入/输出设备。
有关更多信息,请参阅文档的这一部分

// This is too early
console.log(DetectRTC.hasMicrophone);

DetectRTC.load(() => {
  // This is reliable
  console.log(DetectRTC.hasMicrophone);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.rawgit.com/muaz-khan/DetectRTC/master/DetectRTC.js"></script>
Run Code Online (Sandbox Code Playgroud)