使用getUserMedia让用户选择麦克风。此外,我使用enumerateDevices创建一个带有设备的选择,以便用户可以从 UI 更改设备。
我在 Firefox 上,还没有检查其他浏览器的表现,但至少对于 FF,我还没有找到解决方案。
如果用户在被询问时选择不允许访问,则在用户删除限制之前不要再次询问[1] :
问题是是否有办法检测用户何时取消限制?
场景通常是:
- 用户加载页面并被要求选择输入设备
用户拒绝
UI disables device selector + hide various stuff
用户取消限制(如上图)
UI enables device selector + unhide various stuff
(显然)没有办法通过 Java 脚本从客户端重置块,但是有没有办法检测到用户撤销了块?(或者有吗?听起来像是可以被利用来保持循环访问请求的东西。)
可以做一个循环,在页面的整个生命周期内不断尝试,但希望避免这种情况。正在为此寻找活动。
在这方面,ondevicechange不会在删除块时触发事件 - 这在某种程度上是合乎逻辑的,因为可用设备没有变化,以某种方式:P。
[ 1 ]那就是:一个人可以问,但结果是:
MediaStreamError
消息:在当前上下文中,用户代理或平台不允许该请求。
名称: NotAllowedError </p>