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

if(DetectRTC.isWebsiteHasMicrophonePermissions){
    //Is ok
}else{
    //Can't use microphone
}

该网站有权使用麦克风,但DetectRTC.isWebsiteHasMicrophonePermissions仍然为false。因此,我尝试在控制台上打印对象,然后将isWebsiteHasMicrophonePermissions设置为true。但是当我单独打印变量时,它再次变为false。
console.log(DetectRTC); //isWebsiteHasMicrophonePermissions: true
console.log(DetectRTC.isWebsiteHasMicrophonePermissions) //false

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

最佳答案

in the docs所述,您需要使用DetectRTC.load()等待检测音频/视频输入/输出设备。
有关更多信息,请参见this part of the docs

console.log(DetectRTC.hasMicrophone);

DetectRTC.load(() => {
  console.log(DetectRTC.hasMicrophone);
});
<script src="https://cdn.rawgit.com/muaz-khan/DetectRTC/master/DetectRTC.js"></script>

08-19 19:40