gpt4 book ai didi

javascript - 如何同时启动多个音频标签?

转载 作者:行者123 更新时间:2023-11-29 22:24:33 25 4
gpt4 key购买 nike

我想一起播放一首歌曲的多个轨道,并且能够将其中一些轨道静音并播放其他轨道。所以我需要能够同时启动它们。现在,它们都开始有点不同步:

// Start playing
for ( i = 0; i < 5; i++ ) {
tracks[i].audio.play();
}

即使这样显然也不够快,无法同时启动它们。

在 javascript 中有什么方法可以保证 HTML5 音频标签将同时开始播放吗?

最佳答案

不确定您是否已经这样做了,但这里有一些用于预加载音频的示例代码。

var audios = [];
var loading = 0;
AddNote("2C");
AddNote("2E");
AddNote("2G");
AddNote("3C");

function AddNote(name) {
loading++;
var audio = document.createElement("audio");
audio.loop = true;
audio.addEventListener("canplaythrough", function () {
loading--;
if (loading == 0) // All files are preloaded
StartPlayingAll();
}, false);
audio.src = "piano/" + name + ".mp3";
audios.push(audio);
}

function StartPlayingAll() {
for (var i = 0; i < audios.length; i++)
audios[i].play();
}
}

您可以尝试的另一件事是在每个轨道上设置 audio.currentTime 以手动同步音频。

关于javascript - 如何同时启动多个音频标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com