我不知道为什么,但是我不知道为什么这不起作用。我已经坐了几个小时尝试不同的方法,阅读和观看有关该主题的视频,但是我仍然无法弄清楚。
问:为何每次单击元素时,都会开始播放“新的”音频文件,而与上一个重叠呢?我的if陈述是否应该解决这个问题?
document.getElementById("chatWrapper").addEventListener("click", playSound);
function playSound() {
//alert("Success!");
var sEE0 = new Audio('../sound/00-menu-music.mp3');
sEE0.volume = 0.2;
if (sEE0.duration > 0) {
return;
} else {
sEE0.play();
}
}
我该如何解决?
提前致谢!
最佳答案
您似乎每次单击都在创建一个新的音频元素。
尝试只初始化一次:(attn,quick'n'dirty!)
document.getElementById("chatWrapper").addEventListener("click", playSound);
var sEE0 = new Audio('../sound/00-menu-music.mp3');
function playSound() {
//alert("Success!");
sEE0.volume = 0.2;
if (sEE0.duration > 0) {
return;
} else {
sEE0.play();
}
}
关于javascript - 如果一个新的音频文件已经在播放,为什么要开始播放? (JS),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30743666/