概述`navigator.mediaDevices.enumerateDevices()` 返回输入/输出设备列表。`devicechange` 事件在设备插拔或权限变化时触发,适合更新选择 UI 与会话。用法/示例const list = await navigator.mediaDevices.enumerateDevices() const cams = list.filter(d => d.kind === 'videoinput') const mics = list.filter(d => d.kind === 'audioinput') navigator.mediaDevices.addEventListener('devicechange', async () => { // 设备变更时刷新列表与当前会话 }) 工程建议在安全上下文中运行并请求必要权限;对“匿名设备标签”在未授权时做 UI 提示。缓存用户选择并在变更后尝试自动恢复;提供明确切换入口。与 `setSinkId`(如可用)协作选择音频输出设备。参考与验证MDN:MediaDevices — https://developer.mozilla.org/docs/Web/API/MediaDevicesweb.dev:Media devices — https://web.dev/articles/audio-devices

发表评论 取消回复