gpt4 book ai didi

javascript - 模拟 navigator.mediaDevices.enumerateDevices

转载 作者:行者123 更新时间:2023-11-28 04:57:05 26 4
gpt4 key购买 nike

即使我的设备没有连接麦克风,我也想进行 WebRTC 通话并听到声音。我用来加入 VOIP 通话的网络应用程序检测到我没有麦克风,并关闭了音频,因为它假定我想要呼入。

我注意到网络应用程序正在使用 navigator.mediaDevices.enumerateDevices 来确定我是否安装了用于通话的正确设备。有什么方法可以模拟它返回有效的 MediaDeviceInfo 对象,以欺骗网站认为我有一个有效的麦克风,这样我就可以继续通话?

编辑与重复答案相关的内容

我认为我不能只覆盖 navigator.enumerateDevices = function(){...}

返回值是 MediaDeviceInfo 对象的列表,您无法使用 MediaDeviceInfo 构造函数创建该对象。但我很想知道是否有人知道创建某种响应数组的方法,该数组可以满足页面上已解决 promise 的任何消费者。

最佳答案

navigator.mediaDevices.enumerateDevices 返回 promise 。尝试下面的代码片段。您可以添加 n 个设备。

var device1 = {
deviceId: "default",
kind: "audiooutput",
label: "",
groupId: "default"
}
device1.__proto__ = MediaDeviceInfo.prototype;
navigator.mediaDevices.enumerateDevices = function() {
return new Promise((res, rej)=>{res([device1])})
}

关于javascript - 模拟 navigator.mediaDevices.enumerateDevices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42462773/

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