safari 13.1 navigator.mediaDevices.enumerateDevices()仅返回音频设备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了safari 13.1 navigator.mediaDevices.enumerateDevices()仅返回音频设备相关的知识,希望对你有一定的参考价值。

我在桌面Safari 13.1版本上遇到问题。如果我在Web检查器(带有带摄像头和麦克风的常规Macbook)中打开控制台,并在任何类型的网站上执行此命令:

navigator.mediaDevices.enumerateDevices()

第一次它将以视频输入和音频输入返回Promise结果。第二次它将仅返回2个音频输入。视频输入消失。

不幸的是,我在检查解决方案上的可用设备时多次调用此方法。

任何想法为什么会发生,即使我多次调用它,也如何获得有关设备的准确信息?See the results here

答案

我在运行ios 13的iPad上也发现了相同的问题。

似乎您需要先请求访问摄像机才能看到正确的设备列表。

navigator.mediaDevices.getUserMedia( video: true )

这将提示您访问摄像机(您必须使用HTTPS或本地主机)。

授予许可,然后再次运行它,您应该看到返回的诺言中列出的videoinput设备:

navigator.mediaDevices.enumerateDevices()

我想这是一项隐私保护功能,如果没有先征得您的许可,网站就无法检查相机是否存在。

以上是关于safari 13.1 navigator.mediaDevices.enumerateDevices()仅返回音频设备的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Xcode 13.1 中查看 StoryBoard 或项目目标

在linux openSUSE 13.1中安装supervisor时出错

如何更改 OpenSuSE 13.1 上的默认 MySQL 用户

RDS升级postgres 13.1版,不支持的DB Instance Class

Gradle Plugin v0.13.1 后重复的 Zip 条目

ios 13.1 无法将文件保存到 App Directory