声音不会播放两次
问题描述:
我有一个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;