javascript - HTML/js 在浏览器中选择音频输出设备

标签 javascript html

我用 HTML 创建了一个简单的音板,其中包含像这样的简单行:

<body>
    <audio id="sound1" src="mysound.wav"></audio>
    <button class="button" onclick="document.getElementById('sound1').play()">My sound</button>
</body>

有没有什么方法可以让用户通过下拉菜单或类似的方式选择播放声音的音频输出设备?

最佳答案

现在有可能了。

首先,您可以通过运行 navigator.mediaDevices.enumerateDevices() 并按等于“audiooutput”的属性“kind”过滤找到的设备来收集可能的音频输出设备。

那么您应该使用 DOM 的音频/视频元素的 setSinkId() 方法。看起来您必须为 HTML 页面上的每个视频/音频元素运行 setSingId(someSelectedDeviceId)

这是 Safari 尚不支持的全新功能。 但是 Chrome 和部分 FireFox 已经有了这种支持 https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId

关于javascript - HTML/js 在浏览器中选择音频输出设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523466/

相关文章:

javascript - AngularJS 指令不起作用

javascript - 未输入必填字段时 Asp.net 布局中断(搞砸我的布局)

javascript - 如何在 javascript on() 函数中指定动态元素?

javascript - 在html中更改占位符字体颜色

javascript - 无法在隐藏的输入元素上设置值

javascript - 更改元素 ID 后将元素移动到另一个父元素

javascript - 如何在带有复选框的多选框中添加垂直滚动条,大小属性不起作用

javascript - 在 Javascript 中更新对象数组中的某些元素时,考虑到数组大小,哪种方法更有效?

html - 在网页上将由圆圈组成的网格居中

javascript - JS CSS HTML - 创建一个独立于文本数量而保持相同宽度的按钮