如果音频设备发生更改,我想暂停视频。例如如果耳机已拔出。有活动吗?
我遇到了其他一些问题,但不适用于浏览器
答案 0 :(得分:2)
这不是完美的,并且可能有点怪异,因为它依赖于浏览器公开label
的{{1}}属性,然后尝试使用字符串MediaDevice
来猜测如果用户已连接了耳机设备,但您也可以只观看已连接的音频设备的数量,并在音频设备发生变化或因使用情况而定时暂停播放。
几乎所有的逻辑都从navigator.mediaDevices.ondevicechange
的MDN页面改编而成。
注意:从"head"
URL执行时,此代码无法正常工作,必须通过file://
或http://
URL进行访问,浏览器才能实际上使您可以访问https://
的{{1}}属性。另外,根据您的浏览器,您可能需要使用hack featured in the first iteration of this answer,这将要求用户访问麦克风并授予您对label
属性的访问权限。
MediaDevice
注意:使用此新的,更简单的版本进行的测试很杂乱,但它消除了对麦克风访问的要求。某些浏览器触发label
处理程序的时间也比其他浏览器长。