navigator.mediaDevices.enumerateDevices() 没有得到多个音频输出

问题描述

项目:列出所有媒体设备,然后选择1个与Windows默认不同的特定音频输出设备

我使用了 enumerateDevices(),遵循许多代码示例,例如 here 和:

  • 在 Firefox 上:音频输入、视频输入、未显示音频输出的列表,但每个只有 1 个(我有 2 个输入、3 个输出)
  • 在 Chrome 上,Brave:显示相同的列表,每个列表也只有 1 个,并且种类/标签/id 为空(尽管 groupId 非空)

代码:

function checkDevices(devices){
        (async () => {   
  await navigator.mediaDevices.getUserMedia({audio: true,video: true});   
  let devices = await navigator.mediaDevices.enumerateDevices();   
  devices.forEach(function (device) {
      console.log(device.kind + ": " + device.label + " id: " + device.groupId);//Other parameters device.kind/device.deviceId
    });
  })();
}
function checkError(err){
    console.log(err.name + ": " + err.message);
} 
navigator.mediaDevices.enumerateDevices().then(checkDevices).catch(checkError);

有人可以帮忙吗?

输出火狐 enter image description here

输出 Chrome(与 Brave 相同) enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)