Javascript WebRTC如何设置限制以在可用时使用音频
通常,您可以按如下方式设置约束Javascript WebRTC如何设置限制以在可用时使用音频,javascript,webrtc,Javascript,Webrtc,通常,您可以按如下方式设置约束 { audio: true, video: true } 但我想再宽容一点。我只想获取音频,如果它能够获取,即如果麦克风可用,否则它将向我抛出NotFoundError错误 如果可能的话,有什么想法吗 是的 您可以使用该方法获取所有音频和视频设备的列表。 这将返回一个对象数组,该数组将具有kind属性,让您知道可以使用哪个约束 所以你可以做一些像 navigator.mediaDevices.enumerateDevices() .then(获取设备类型) .
{ audio: true, video: true }
但我想再宽容一点。我只想获取音频,如果它能够获取,即如果麦克风可用,否则它将向我抛出NotFoundError
错误
如果可能的话,有什么想法吗 是的
您可以使用该方法获取所有音频和视频设备的列表。
这将返回一个对象数组,该数组将具有kind
属性,让您知道可以使用哪个约束
所以你可以做一些像
navigator.mediaDevices.enumerateDevices()
.then(获取设备类型)
.then(getUserMedia)
.then(console.log)
.catch(控制台错误);
函数getDevicesTypes(列表){
返回新集合(列表
.filter(device=>device.kind.indexOf('input')>-1)
.map(device=>device.kind.replace('input','')
);
}
函数getUserMedia(设备种类){
常量约束={};
forEach(种类=>constraint[kind]=true);
console.log(约束);
返回navigator.mediaDevices.getUserMedia(约束);
}
是
您可以使用该方法获取所有音频和视频设备的列表。
这将返回一个对象数组,该数组将具有kind
属性,让您知道可以使用哪个约束
所以你可以做一些像
navigator.mediaDevices.enumerateDevices()
.then(获取设备类型)
.then(getUserMedia)
.then(console.log)
.catch(控制台错误);
函数getDevicesTypes(列表){
返回新集合(列表
.filter(device=>device.kind.indexOf('input')>-1)
.map(device=>device.kind.replace('input','')
);
}
函数getUserMedia(设备种类){
常量约束={};
forEach(种类=>constraint[kind]=true);
console.log(约束);
返回navigator.mediaDevices.getUserMedia(约束);
}