项目:列出所有媒体设备,然后选择 1 个不同于 Windows 默认的特定音频输出设备
我使用了 enumerateDevices(),遵循了许多代码示例,example 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);
有人可以帮忙吗?
输出 Firefox 在此处输入图像描述
输出 Chrome(在 Brave 上相同) 在此处输入图像描述