【问题标题】:Audio on Safari Mobile when power button is pressed按下电源按钮时 Safari Mobile 上的音频
【发布时间】:2017-07-08 04:57:34
【问题描述】:

我对 JavaScript 比较陌生,我正在为 iPad (iOS 10.2.1) 上的 Safari Mobile 开发游戏。

游戏启动时播放背景音乐(与市场上的任何其他游戏一样)。 如果游戏页面失去焦点,音乐将停止播放,直到页面再次获得焦点。

如果调用新标签或关闭浏览器,则不会出现任何问题,但如果用户按下电源按钮或关闭 iPad 智能保护盖并将设备置于暂停模式,则会出现异常行为:音乐停止,但音频文件以某种方式传递给音乐应用程序,看起来可见且可播放(请看下面的屏幕截图)。

我尝试取消设置音频变量 onblur 事件:

backgroundMusic = new Audio("pathToAudio");
window.addEventListener("blur", function(e) {
   delete backgroundMusic;
}

var backgroundMusic = new Audio("pathToAudio");
window.addEventListener("blur", function(e) {
   backgroundMusic = null;
}

var backgroundMusic = new Audio("pathToAudio");
window.addEventListener("blur", function(e) {
   backgroundMusic = (function(){}());
}

查看 JavaScript 方法在 stackoverflow 上取消设置变量:

How to unset a JavaScript variable?

How to unset variable using javascript?

How to delete a variable?

但是没有任何效果... 我怎样才能防止这种行为发生?

!!!请不要在 jQuery 中回答!!!

【问题讨论】:

    标签: javascript ios ipad mobile-safari


    【解决方案1】:

    无法取消设置我的音频,但我能够通过在模糊事件中更改音频文件的路径来防止奇怪的行为。

    backgroundMusic.src = "";
    

    在焦点上,可以将路径设置回原来的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      相关资源
      最近更新 更多