gpt4 book ai didi

javascript - 最小化 iPad 浏览器 safari 时仍在播放音频

转载 作者:行者123 更新时间:2023-11-30 17:58:48 25 4
gpt4 key购买 nike

我开发的游戏是 html5、Jquery、Javascript,我需要预加载几个音频。这些音频正在一个接一个地播放,但是当我将 iPad 最小化时,音频仍在播放。任何人都可以在浏览器最小化时帮助暂停音频吗?当浏览器进入前台时,音频应该播放。

最佳答案

我已经完成了一半,可以为您提供完整的解决方案。这是我到目前为止所拥有的:

var audio = document.getElementsByTagName('audio')[0];
window.onpageshow = function() {
audio.play();
}
window.onpagehide = function() {
audio.pause();
}

因此,只要您在关闭 Safari 时在应用程序选项卡上,它就会暂停音频。并在您重新启动时播放它。当您更改标签时它不会停止。

如果您的应用程序是 apple-mobile-web-app-capable,当您使用主屏幕按钮打开应用程序时,这将触发 onpageshow,并在你关闭它。它并没有完全暂停,因为重新打开它会强制它从头开始。您必须使用 localStorage 或其他工具捕获您在轨道中的位置,然后在您重新打开它时将 currentTime 设置为该时间。

看起来您将能够使用 Visibility API根据 caniuse.com 在 iOS 7 中

为了历史的缘故,我至少要陈述一些我尝试过的其他事情。

  • window.onblur
  • 使用带有 setTimeout 的 requestAnimationFrame(这适用于台式机,但不适用于 iOS)

    var t;
    requestAnimationFrame(function checkWindow() {
    if ( audio.paused ) {
    audio.play();
    }
    clearTimeout(t);
    t = setTimeout(function() {
    audio.pause();
    }, 32);
    });

关于javascript - 最小化 iPad 浏览器 safari 时仍在播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17539373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com