如何检测音频是否无法静音?

时间:2016-03-31 16:20:02

标签: ios audio html5-audio soundmanager2

有没有办法检测音频是否无法静音?在iOS设备中,无法通过javascript更改音频。我的应用程序中有一个按钮,用于静音使用SoundManager2和HTML5视频播放的音频。这在iOS设备中不起作用。我可以检查iOS并相应地处理,但我不确定是否有任何其他设备以这种方式处理,并且更好的做法是进行更多的功能检测而不是设备特定的更改。我尝试检查muted参数,它确实发生了变化,只是没有反映出来,所以我不能做这样的事情:

soundManager.mute();
if (!soundManager.muted) {
  alert("Can't Mute");
}

静音函数也只返回null,所以它不像我可以看到它的返回值。

我有什么遗漏或者我需要专门检查iOS吗?

1 个答案:

答案 0 :(得分:0)

我使用特征检测。 首先我保存当前音量,然后将其设置为50%,并检查是否确实设置为50% 如果是,则设备可以改变音量。 最后,我将音量设置回原始值。

var tmpvol = myAudio.volume;
myAudio.volume = 0.5
if (myAudio.volume == 0.5) {
    // true
}
myAudio.volume = tmpvol;
相关问题