首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaDevices.enumerateDevices()没有在浏览器中显示虚拟摄像头,但是google和其他网站显示

MediaDevices.enumerateDevices()没有在浏览器中显示虚拟摄像头,但是google和其他网站显示
EN

Stack Overflow用户
提问于 2021-08-12 11:25:32
回答 1查看 949关注 0票数 1

我使用Google相会Chrome浏览器中进行在线视频会议。在Google中,我可以在视频设备中选择我的摄像头。我可以选择任何真正的硬件或虚拟摄像头,这是很好的。

我确信Chrome检测到所有真实的或虚拟的网络摄像头,查看chrome://media-internals/的内容

MediaDevices.enumerateDevices()只显示真实的硬件摄像头,而不显示虚拟摄像头。

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<body>
    <script>
        (async () => {
            await navigator.mediaDevices.getUserMedia({ audio: true, video: true });
            let devices = await navigator.mediaDevices.enumerateDevices();
            console.log(devices);
        })();
    </script>
</body>

</html>

以下是devtools中控制台的输出:

代码语言:javascript
复制
[
    {
        "deviceId": "",
        "kind": "audioinput",
        "label": "",
        "groupId": "a71e32bec65bc4788683c156cfbc3c005bce4535b980209e4a455973bd93f36a"
    },
    {
        "deviceId": "",
        "kind": "videoinput",
        "label": "",
        "groupId": "03e0a9c9e71757f81bef3f3a74c4a56785b2d3d103a7de883101e509c233977f"
    },
    {
        "deviceId": "",
        "kind": "audiooutput",
        "label": "",
        "groupId": "a71e32bec65bc4788683c156cfbc3c005bce4535b980209e4a455973bd93f36a"
    }
]

为什么Google和其他网站都在展示包括虚拟相机在内的所有相机,为什么MediaDevices.enumerateDevices()不显示虚拟相机呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-25 09:49:02

enumerateDevices成功使用getUserMedia之后,只有在getUserMedia中显示的默认设备才是空标签,只有在file:/// urls上进行测试时才会出现这种情况。它应该在https:// urls (和本地主机)上正常工作,成功的getUserMedia调用授予扩展设备列表权限(详细信息请参见此PSA )。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68756589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档