【问题标题】:Request full MediaDeviceInfo without audio/video capture请求没有音频/视频捕获的完整 MediaDeviceInfo
【发布时间】:2019-12-09 18:45:29
【问题描述】:

我正在使用 MediaDevices API 来获取音频输出设备列表:

const outputDevices = (
  await navigator.mediaDevices.enumerateDevices()
).filter(device => device.kind === 'audiooutput');

这可行,但label 为空白。

我知道如果我使用getUserMedia() 请求音频或视频流,我可以重新枚举设备并获取它们的标签。有没有办法获得查看设备的权限没有getUserMedia()?我想设置音频输出的 sink ID,没有理由使用采集设备。

【问题讨论】:

    标签: javascript audio html5-audio getusermedia mediadevices


    【解决方案1】:

    不幸的是,这是音频输出设备 API 的 known limitation - 关于 github 问题的讨论指向可能的解决方案,但尚未做出明确的决定。

    【讨论】:

      【解决方案2】:

      要获取此信息,我必须先执行一个简单的getUserMedia ({audio: true}) 操作。枚举完成后,删除流中的曲目,然后删除流是没有问题的。

      它将要求用户许可。为什么?因为恶意方可能会使用您的设备枚举数据对您的浏览器进行指纹识别并帮助跟踪您。

      【讨论】:

        猜你喜欢
        • 2019-01-11
        • 1970-01-01
        • 1970-01-01
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多