gpt4 book ai didi

javascript - WebRTC 如何设置限制以在可用时使用音频

转载 作者:行者123 更新时间:2023-12-01 02:41:07 28 4
gpt4 key购买 nike

通常您会设置如下约束

{ audio: true, video: true }

但我想更加宽容。我只想获取音频(如果能够获取的话),即如果麦克风可用,否则会抛出 NotFoundError 错误。

如果可能的话有什么想法吗?

最佳答案

是的。

您可以使用MediaDevices.enumerateDevices()方法获取所有音频和视频设备的列表。这将返回一个数组 MediaDeviceInfo具有 kind 属性的对象可以让您知道可以使用哪个约束。

所以你可以做类似的事情

navigator.mediaDevices.enumerateDevices()
.then(getDevicesTypes)
.then(getUserMedia)
.then(console.log)
.catch(console.error);

function getDevicesTypes(list){
return new Set(list
.filter(device => device.kind.indexOf('input') > -1)
.map(device => device.kind.replace('input', ''))
);
}
function getUserMedia(deviceKinds){
const constraint = {};
deviceKinds.forEach(kind => constraint[kind] = true);
console.log(constraint);
return navigator.mediaDevices.getUserMedia(constraint);
}

关于javascript - WebRTC 如何设置限制以在可用时使用音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47559722/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com