当用户与窗口交互时,音频播放,但是当音频结束时,它不记录“音频结束”
let audio = new Audio();
window.onclick = () => {
if (audio.paused) pickMusic().play();
};
audio.onended = () => {
console.log("audio ended");
};
function pickMusic() {
switch (Math.floor(Math.random() * 1)) {
case 0:
return (audio = new Audio("/music/gorp.mp3"));
break;
case 1:
return (audio = new Audio("/music/gorp.mp3"));
break;
}
}<p>Click anywhere!</p>
发布于 2022-04-06 15:01:45
当您调用new Audio()时,它将覆盖已经与onended事件相关联的前面的音频。
在本例中,每当调用new Audio()时,还需要再次初始化onended事件
let audio = new Audio()
window.onclick = () => {
if (audio.paused) pickMusic().play();
};
function pickMusic() {
switch (Math.floor(Math.random() * 1)) {
case 0:
audio = new Audio("http://commondatastorage.googleapis.com/codeskulptor-assets/jump.ogg")
audio.onended = () => {
console.log("audio ended");
};
return audio;
case 1:
audio = new Audio("http://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a")
audio.onended = () => {
console.log("audio ended");
};
return audio;
}
}<p>Click anywhere!</p>
https://stackoverflow.com/questions/71768936
复制相似问题