Javascript可以检测移动设备是否静音?

时间:2017-04-16 18:55:05

标签: javascript javascript-audio-api

当用户回答正确/错误的问题时,我的网站正在播放声音。但我注意到,即使我把它置于静音模式,我的平板电脑(iPad)和手机(iPhone)也能播放声音。当用户将设备设置为静音模式(Ringer)时,我不希望手机/平板电脑播放声音。那么,我可以检测设备是静音/静音然后不播放任何声音吗?我在Safari和Chrome上进行了测试,无论Ringer的状态如何,它都会播放声音。

编辑:如果无法阅读此信息,那么我的问题是,是否有办法播放尊重用户屏蔽首选项的声音?我正在使用jQuery' $("#correctsound").trigger('play'),显然这并不尊重这些设置。我们是否有不同的方式播放将这些设置考虑在内的声音?

1 个答案:

答案 0 :(得分:3)

您的问题的简单答案是。网页无法访问有关客户端的此类信息。这里有更多信息:Javascript: Can you read the systems volume?此外,重要的是要注意iOS对于铃声和媒体有不同的音量设置,根据Macworld

  

掌握音量调节的关键是了解大部分内容   您设备上的声音分为两类。 常规   音频包括音乐和其他媒体,以及音频上的音量   iPhone和所有设备上的FaceTime。 “铃声和警报”   类别不仅包括iPhone铃声,还包括:FaceTime   戒指;时钟应用报警;通知和个人应用警报;   键盘点击;和杂项应用听起来像嗖嗖   发送邮件。

换句话说,如果用户想要静音来自网页的音频,则应将媒体音量设为静音。 铃声音量与网页无关,因此请将手机放入"无声"模式仅用于影响铃声音量。如果您在更改设备的音量设置方面需要帮助,请查看Apple Stack Exchange上的How can I lower the media volume on my iPhone when no media are playing?