У меня есть веб-приложение для Tizen OS. Мне нужно дважды проиграть один звук и каждый раз выполнять какие-то действия.
В браузере работает отлично, но на устройстве ведет себя очень странно. Иногда в первый раз звук воспроизводится должным образом, во второй раз звука нет. Иногда оба раза проигрывается, но обратные вызовы не вызываются.
Код:
var callback = function() {
doAction()
};
SoundManager.playSound(soundID, callback);
setTimeout(function() {
callback = function() {
doAnotherAction();
};
SoundManager.playSound(soundID, callback);
}, 3000);
Звуковой менеджер:
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();
};