声音不会播放两次

问题描述:

我有一个Tizen操作系统的网络应用程序。我需要两次播放一个声音,并在每次之后执行一些操作。声音不会播放两次

在浏览器中,它的工作原理非常完美,但在设备上的行为真的很奇怪。 有时第一次播放声音,第二次没有声音。有时候它会播放,但回调不会被调用。

代码:

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

找到解决方案。

每次只加“结束”回调到音频和复位时间:

this.currentTime = 0;