是否有可能在IOS上控制HTML5音频音量?

jos*_*osi 5 javascript html5 mobile-safari html5-audio buzz.js

我使用html5音频库Buzz将声音添加到浏览器游戏中。有一个切换按钮可以静音和取消静音,在台式机和Android设备上效果很好。不幸的是,似乎IOS上的音频标签非常有限,因此我无法在Mobile Safari中使音频静音(请参阅https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Introduction/Introduction。 html):

在iOS设备上,音频电平始终在用户的物理控制之下。在JavaScript中无法设置volume属性。读取volume属性始终返回1。

您知道在Mobile Safari中控制html5音频标签音量的任何解决方法吗?

jos*_*osi -3

我通过简单地停止所有声音并将变量设置isMuted为 true 或 false 来解决这个问题,这样我就可以在播放声音的任何地方检查这一点:

// set the variable
var isMuted = false;

// toggle audio
function toggleMute() {

    var toggleAudioBtn = $(".toggleAudio");

        if (isMuted == false) {
            sounds.stop();
            isMuted = true;
            toggleAudioBtn.css("background-image", "url('images/ui/btn_audio_mute.png')");
        } else {
            isMuted = false;
            toggleAudioBtn.css("background-image", "url('images/ui/btn_audio.png')");
        }

};

// for every sound check if sound is muted
if(isMuted == false) {
    sound.play();
}
Run Code Online (Sandbox Code Playgroud)