概述
setSinkId 允许为媒体元素指定输出设备(如耳机/扬声器)。需在安全上下文并可能触发权限流程,不同浏览器支持差异较大。
用法/示例
const devices = await navigator.mediaDevices.enumerateDevices()
const outs = devices.filter(d => d.kind === 'audiooutput')
const el = document.querySelector('audio')
await el.setSinkId(outs[0].deviceId)
工程建议
- 提供设备选择 UI 并处理权限与失败回退;缓存用户偏好。
- 在不支持环境保持默认输出并提示用户;与设备变更事件协同更新。
- 验证多平台行为与音量控制一致性。
参考与验证
- MDN:
setSinkId— https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/setSinkId - web.dev:Audio output devices — https://web.dev/articles/audio-devices

发表评论 取消回复