2013-05-31 3 views
1

У меня есть веб-приложение для Tizen OS. Мне нужно дважды воспроизвести один звук и сделать некоторые действия после каждого раза.Звук не играет дважды

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

Код:

var callback = function() { 
    doAction() 
}; 
SoundManager.playSound(soundID, callback); 
setTimeout(function() { 
    callback = function() { 
     doAnotherAction(); 
    }; 
    SoundManager.playSound(soundID, callback); 
}, 3000); 

Sound Manager:

SoundManager.playSound = function(id, callback) { 
    if (callback != null) { 
     var func = function() { 
      callback(); 
      this.removeEventListener('ended', func, false); 
     } 
     $(SoundManager.sounds[id])[0].addEventListener('ended', func, false); 
    } 
    $(SoundManager.sounds[id])[0].play(); 
}; 

ответ

1

Найдено решение.

Каждый раз, просто добавьте «закончился» обратный вызов аудио и сбросить время:

this.currentTime = 0; 
Смежные вопросы