Javascript HTMLAudioElement在iPod Touch(5.0.1)上的Safari中无法正常静音

Javascript HTMLAudioElement在iPod Touch(5.0.1)上的Safari中无法正常静音,javascript,ios,html5-audio,Javascript,Ios,Html5 Audio,问题:我在切换html5音频标签上的静音属性时遇到问题 平台:仅在iPod Touch上(Safari)[iOS5.0.1]。在铬上可以很好地工作 // This code resides in my click binding. var audios = document.getElementsByTagName('audio')[0]; console.log(audios.muted); // returns false by default if(audios.muted == true

问题:我在切换html5音频标签上的静音属性时遇到问题

平台:仅在iPod Touch上(Safari)[iOS5.0.1]。在铬上可以很好地工作

// This code resides in my click binding.
var audios = document.getElementsByTagName('audio')[0];
console.log(audios.muted); // returns false by default
if(audios.muted == true){
  audios.muted = false;
}
else{
  audios.muted = true;
}
在chrome中,console.log将切换为true/false,但在iPod上,它将始终保持false。

根据:

在iOS设备上,音频级别始终由用户物理控制。无法在JavaScript中设置volume属性。读取volume属性始终返回1

看起来您必须使用硬件交换机。在iPhone上,音量开关似乎不会影响Safaris音量(默认为振铃器音量,除非有声音播放,否则您可以调整Safaris音量),而在iPod上,音量开关会影响Safaris音量


希望这对其他人有所帮助。

我只是查看了文档,发现在桌面上可以设置音量属性,但在移动设备上,它说“在iOS设备上,音频级别始终由用户物理控制。在JavaScript中无法设置音量属性。读取音量属性总是返回1。”。这对我来说毫无意义,为什么你不能静音或调整音频元素的音量。你可以使用音频API解决这个问题。我并不擅长完整的功能和限制,但我设法拼凑了一些简单的代码,然后JS可以用来改变音量,或者更具体地说是“增益”。用户交互是创建音调和开始播放的必要条件,但在这之后,我可以完全控制音量,让我将其用作特定事件的一个非常简单的音频警报。只需解决同样的问题:有人对如何让音频暂停或停止或其他任何事情有建议吗?我的解决方法是在移动设备上切换“静音播放/暂停”按钮。我知道,我们不应该嗅,但有时这是唯一的解决办法。F**king iOS…哈哈