javascript - Web:如何连续播放音频文件而不出现延迟?

标签 javascript html audio web html5-audio

我有几个音频文件的网址,如下所示:

example.net/{num}.mp3

我想一个接一个地播放它们,并且它们之间没有延迟。

我尝试让两个音频元素带有 preload=true 并在它们之间切换,但仍然有延迟。

有什么想法吗?

最佳答案

我想看看你到目前为止所拥有的实际代码,因为我不是 100% 确定“在它们之间切换”意味着什么,但我编写了以下示例,该示例在第一个文件之前开始播放下一个文件一个完成。您指定一定数量的“重叠”,它就会开始播放下一个文件 JSFiddle: http://jsfiddle.net/76xqhupw/4/

const OVERLAP_TIME = 1.0; //seconds

const song1 = document.getElementById('audio1');
const song2 = document.getElementById('audio2');

song1.addEventListener("timeupdate", function() {
  if (song1.duration - song1.currentTime <= OVERLAP_TIME) {
    song2.play();
  }
});

song1.play();

这仅与立即播放下一个音频元素相关,因为您说过您已经有两个音频元素,但如果我遗漏了某些内容,请告诉我。

关于javascript - Web:如何连续播放音频文件而不出现延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38065935/

相关文章:

audio - 在 Linux 上以低延迟捕获声音

Android:为什么我在点击一些按钮后无法在按钮点击时播放声音?

javascript - 做一个 API 顶点项目,无法从文本输入中检索值

javascript - React - setTimeout() 方法在 Promise.all 之后不触发

javascript - 了解基本的 grunt 文件 - uglify

html - 当较小的屏幕 div 没有拉伸(stretch)时

javascript - 怎么会这样?

html - Bootstrap 3 col-xs 没有按预期工作

php - 如何从下拉字段插入表的多列

python - 用 Python 播放音频文件