2014-01-08 19 views
0

我在我的網頁上實現了SoundManager 2,它在我迄今爲止投擲到的每個瀏覽器中都非常出色。可能會減少SoundManager 2在Android上的滯後?

當我在桌面上進行測試時,點擊div和聽到播放聲音之間幾乎沒有什麼差距。 但是,在Android上,第一次播放聲音時總會有一秒左右的時滯。之後,幾乎沒有任何滯後。

是否有可能減少或消除Android上第一次播放滯後?

這裏是我使用

$(document).ready(function() { 

    soundManager.setup({ 
     url: 'www.mysite.com/swf/', 
     preferFlash: false, 
     onready: function() { 
      soundManager.setup({ 
       defaultOptions: { 
        autoLoad: true, 
        autoPlay: false 
       } 
      }); 
      soundManager.createSound({ 
       id: 'mysound', 
       url: 'www.mysite.com/sounds/mysound.mp3', 
       volume: 50 
      }); 
     } 
    }); 


    $(document).on("click",".wrapper",function(e){ 
     soundManager.play('mysound'); 
    } 

} 

的代碼,我已經試過手動加載聲音這樣

var preload = soundManager.createSound({ 
     id: 'mysound', 
     url: 'www.mysite.com/sounds/mysound.mp3', 
     volume: 50 
    }); 
    preload.load(); 

但是,這沒有什麼區別!

有人在Android上沒有延遲地工作嗎?

回答

0

我認爲問題在於android的政策只允許聲音響應用戶輸入播放。

例如:Autoplay audio on mobile safari

這是在移動瀏覽器的限制。

您有滯後的原因是聲音必須在您第一次點擊時加載的事實。您的預加載不起作用,因爲它不響應用戶輸入而運行,因此被阻止。

解決方案是實現一個歡迎屏幕,在點擊「enter」按鈕時加載聲音,如上面鏈接的頂部註釋所述。

如果你只需要這在一個瀏覽器中運行,你可以瀏覽到

chrome://flags/#disable-gesture-requirement-for-media-playback

您的Android手機上,然後單擊啓用