在Firefox和Chrome上,
navigator.mediaDevices.enumerateDevices()
返回所有连接的音频和视频设备的列表。
但在桌面Safari上,至少在我的系统上,它只返回默认设备。
这是预期的行为吗?
我自己刚刚遇到这个问题。
AFAICT Safari只有在调用getUserMedia
之后才能获得默认设备。
simpl.info/sources上的演示处理了这个问题。
另一个选项是允许您的网站从Safari网站设置访问您的相机和麦克风,请参阅此处的操作方法:
https://www.macrumors.com/how-to/access-website-settings-in-safari/.
之后,呼叫navigator.mediaDevices.enumerateDevices()
将列出您的所有音频/视频设备,即使不需要先呼叫getuserMedia
。