navigator.mediaDevices.enumerateDevices()仅返回Safari上的默认设备吗?

时间:2018-07-17 17:52:07

标签: webrtc

在Firefox和Chrome上,

navigator.mediaDevices.enumerateDevices()

...返回所有已连接的音频和视频设备的列表。

但是在台式机Safari上,至少在我的系统上,它仅返回默认设备。

这是预期的行为吗?

2 个答案:

答案 0 :(得分:1)

我自己遇到了这个问题。

AFAICT Safari仅在调用getUserMedia之后才获取默认设备。

simpl.info/sources上的演示对此进行了处理。

答案 1 :(得分:0)

另一个选项是允许您的网站从 Safari 网站设置访问您的摄像头和麦克风,请参阅此处了解如何操作:

https://www.macrumors.com/how-to/access-website-settings-in-safari/

之后调用 navigator.mediaDevices.enumerateDevices() 将列出您的所有音频/视频设备,即使不需要先调用 getuserMedia