无法获取未定义或空引用的属性“enumerateDevices”

Kob*_*uek 1 javascript internet-explorer getusermedia mediastream enumerate-devices

我正在使用enumerateDevices请参阅此处的参考)来获取用户的摄像头和麦克风列表。

此代码在 Chrome 上运行良好:

$(document).ready(function(){
    navigator.mediaDevices.enumerateDevices()
    .then(gotDevices)
});
Run Code Online (Sandbox Code Playgroud)

但是由于它在 IE 上不受支持,因此会引发错误:

无法获取未定义或空引用的属性“enumerateDevices”

我的问题:是否有任何替代方法可以在所有浏览器中使用?

Bho*_*yar 6

navigator.mediadevices 在不安全的上下文中也可以是未定义的。

你需要有https:而不是http:


chrome 上有一些实验标志来允许它:

铬://标志/#allow-insecure-localhost

chrome://flags/#unsafely-treat-insecure-origin-as-secure