当页面被更改时,ios暂停音频

时间:2014-12-01 08:34:36

标签: ios ipad caching audio html5-audio

问题显示在Iad 8.0.1的IPad上。 它是无限的音频,在page1.html上播放 如果我去另一个页面(例如page2.html),我认为声音将停止播放,但它仍然在播放。 我尝试使用unload,pagehide和visibilitychange事件来阻止它,但我的所有努力都失败了。

代码

<audio id="sound" loop src="audio/baby.mp3"></audio>
<script>        
        var player = document.getElementById("sound");
        window.addEventListener("unload", function () {
            player.pause();
        });
        if ('onpagehide' in window)
            window.addEventListener("pagehide", function () {
            player.pause();
        });    
        if ('onvisibilitychange' in window)
            window.addEventListener("visibilitychange", function () {
            player.pause();
        });
</script>

只有当我重新加载激活的页面时,声音才会停止。

1 个答案:

答案 0 :(得分:0)

找出答案!

也许这是Safari的错误: 使用原生属性“loop”,您无法停止音频。

所以我用自己的循环功能替换它,包括页面可视性检查

player.addEventListener("ended", function() {
                    if (windowVisible)
                        player.play();
                });