2017-02-18 68 views
0

我对JavaScript比较陌生,我正在为iPad(iOS 10.2.1)上的Safari Mobile制作游戏。按下电源按钮时在Safari Mobile上的音频

游戏启动时会播放背景音乐(与市场上其他任何游戏一样)。 如果游戏页面失去焦点,则停止播放音乐,直到页面重新获得焦点后才播放。

如果调用新选项卡或关闭浏览器,则不会出现问题,但如果用户按下电源按钮或关闭iPad智能护盖并将设备置于暂停模式,则会发生异常行为:音乐停止,但音频文件以某种方式传递到音乐应用程序,显示可见和可玩(请看下面的截图)。

iPad unlock screen

我试图取消设置音频变量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的方式展望未设置变量对计算器:

How to unset a JavaScript variable?

How to unset variable using javascript?

How to delete a variable?

但没有什么可行的... 我怎么能防止这种行为发生?

!!!请不要在jQuery中进行回复!

回答

0

这是不可能取消我的音频,但我能够通过更改模糊事件上的音频文件的路径来防止奇怪的行为。

backgroundMusic.src = ""; 

焦点,可以设置路径回到原来的一个。