2014-01-08 5 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

Я считаю, что проблема связана с политикой андроида, позволяющей воспроизводить звук только в ответ на ввод пользователя.

например: Autoplay audio on mobile safari

Это ограничение в мобильных браузерах.

Причина, по которой у вас есть отставание, заключается в том, что звук загружается при первом нажатии. Ваша предварительная загрузка не работает, поскольку она не запускается в ответ на ввод пользователя и поэтому заблокирована.

Решение будет состоять в том, чтобы реализовать экран приветствия, который загружает звук при нажатии кнопки «Ввод», как описывает верхний комментарий указанной ссылки.

Если вам нужно только, чтобы это работало на одном браузере, вы можете перейти к

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

на андроид телефон и нажмите кнопку Включить