1

Tizen OS 用の Web アプリがあります。1 つのサウンドを 2 回再生し、毎回いくつかのアクションを実行する必要があります。

ブラウザでは完璧に動作しますが、デバイスでは非常に奇妙な動作をします。1 回目はサウンドが正常に再生され、2 回目はサウンドが再生されないことがあります。両方再生されることもありますが、コールバックは呼び出されません。

コード:

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();
};
4

1 に答える 1