2017-02-18 16 views
0

私はJavaScriptが比較的新しく、iPadのSafari Mobile(iOS 10.2.1)のゲームビルドに取り組んでいます。電源ボタンを押したときのSafari Mobileの音声

ゲームが開始されると、(市場の他のゲームのように)バックグラウンドミュージックが再生されます。 ゲームページがフォーカスを失った場合、音楽は停止し、ページが再びフォーカスを得るまで再生されません。

新しいタブが呼び出されたり、ブラウザが閉じられても問題は発生しませんが、ユーザーが電源ボタンを押したり、iPadのスマートカバーを閉じて一時停止モードにすると、異常な動作が発生します。オーディオファイルが何らかの理由でMusic Appに渡され、表示され、再生可能に表示されます(下のスクリーンショットを参照)。

iPad unlock screen

私はイベントがやっとonblur未設定のオーディオ変数に試してみた:

How to unset a JavaScript variable?

How to unset variable using javascript?

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(){}()); 
} 

はstackoverflowの上で未設定の変数にJavaScriptの道を見てみます

How to delete a variable?

しかし、何も動作しません... どうすればこの現象が起こらないようにできますか?

!!!してください、jQueryのない返信!

答えて

0

私のオーディオの設定を解除することはできませんでしたが、ぼかしイベントのオーディオファイルへのパスを変更することで、奇妙な動作を防ぐことができました。

backgroundMusic.src = ""; 

フォーカスをオンにすると、元のパスに戻すことができます。

関連する問題