5

音楽と効果音がループする HTML5 ゲームを開発しています。createjs suiteのsoundjs ライブラリを使用しています。

Android デバイスおよび iOS デバイスでブラウザを最小化すると、サウンドが再生され続けます。これは、デバイスがロックされている場合にも当てはまります。これは、クロス ブラウザー (Safari、Chrome、Android Native、Firefox) でも同様です。

これに対する簡単な修正はありますか、それともページが非アクティブであることを検出し、サウンドを無効にすることがより可能性の高い解決策ですか?


ページが閉じられたときにタイムアウトが発生すると考えて、これを試しましたが、そうではありません。:(

var timeout = -1;
setInterval(function(){
     if(timeout!=-1) clearTimeout(timeout);
     timeout = setTimeout(function(){
         AudioManager.setMute(true);
     }, 200);
, 100);
4

1 に答える 1

3

私にとってうまくいったのは次のとおりです(jQuery v2.1.4を使用):

// Declare soundtrack as SoundJS object
soundtrack = createjs.Sound.play("main", {loop: -1});

$(window).focus(function() {
    // Unpause when window gains focus
    soundtrack.paused = false;
}).blur(function() {
    // Pause when window loses focus
    soundtrack.paused = true;
});

Safari ウィンドウがフォーカスを失うたびに、サウンドトラックが一時停止します。フォーカスが戻ると、再開します。iPhone Safari iOS 9で私のために働きました。

于 2016-02-25T00:08:58.307 に答える