navigator.mediaDevices.enumerateDevices() 仅返回 Safari 上的默认设备?
Posted
技术标签:
【中文标题】navigator.mediaDevices.enumerateDevices() 仅返回 Safari 上的默认设备?【英文标题】:navigator.mediaDevices.enumerateDevices() only Returns Default Devices on Safari? 【发布时间】:2018-07-17 17:52:07 【问题描述】:在 Firefox 和 Chrome 上,
navigator.mediaDevices.enumerateDevices()
...返回所有连接的音频和视频设备的列表。
但在桌面 Safari 上,至少在我的系统上,它只返回默认设备。
这是预期的行为吗?
【问题讨论】:
这个问题你解决了吗? 一年后的行为似乎仍然相同。 【参考方案1】:我自己也遇到了这个问题。
AFAICT Safari 仅在调用 getUserMedia
之前获取默认设备。
simpl.info/sources 的演示处理了这个问题。
【讨论】:
【参考方案2】:另一个选项是允许您的网站从 Safari 网站设置访问您的相机和麦克风,请参阅此处了解如何操作:
https://www.macrumors.com/how-to/access-website-settings-in-safari/.
之后拨打navigator.mediaDevices.enumerateDevices()
将列出您所有的音频/视频设备,即使无需先拨打getuserMedia
。
【讨论】:
以上是关于navigator.mediaDevices.enumerateDevices() 仅返回 Safari 上的默认设备?的主要内容,如果未能解决你的问题,请参考以下文章