Звук не воспроизводится дважды

У меня есть веб-приложение для 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();
};

person ab.helly    schedule 31.05.2013    source источник


Ответы (1)


Нашел решение.

Каждый раз просто добавляйте обратный вызов завершенного вызова к звуку и сбрасывайте время:

this.currentTime = 0;
person ab.helly    schedule 01.06.2013