我想通过我网站上的扬声器播放指定的声音。我已经通过 mediaDevices.getUserMedia 获得了所有用户设备,就像在这个演示https://webrtc.github.io/samples/src/content/devices/input-output/中一样。
关键是获取扬声器而不是耳机等。 DeviceInfo 对象有 4 个属性:
deviceId - 一些 GUID
组 ID - 其他一些 GUID
kind - 由“audiooutput”过滤
标签 - 名称
有没有机会 100% 确定我们有演讲者?
我已经过滤忽略默认值:
function findSpeakers(audioOutputList){
let defaultDevice = audioOutputList.filter(device => {
if(device.deviceId == "default" && device.kind == "audiooutput"){
return true;
}else{
return false;
}
})
let audioOutputsWithoutDefault = audioOutputList.filter(device =>{
if(device.label.indexOf(defaultDevice[0].label.replace('Default - ','')) < 1 && device.kind == "audiooutput"){
return true;
}else{
return false;
}
})
console.log(audioOutputsWithoutDefault);
}