如何播放部分音频文件

How is a partial audio file played?

本文关键字:音频 文件 播放 何播放      更新时间:2023-09-26

如何用javascript播放一个音频文件,该文件已拼接成两个字节数组,并在不同时间从服务器单独加载?我想加载mp3文件的前半部分,然后在播放mp3时,加载后半部分并无缝地继续播放整个文件。

您可以使用canplaythroughended事件,在加载第二个音频时播放第一个音频,然后在加载后播放第二个。类似这样的东西:

var canPlayAudio2 = false;
var audio1Ended = false;
var audio = document.createElement('audio');
audio.src = "your_audio_source";
audio.addEventListener('canplaythrough', function() {
  //after first audio loads, start loading second audio
  var audio2 = document.createElement('audio');
  audio2.src = "your_audio2_source";
  audio2.addEventListener('canplaythrough', function() {
    canPlayAudio2 = true;
    if (audio1Ended) {
      audio2.play();
    }
  });
  //play the first audio, play second audio if availible once finished
  audio.play();
  audio.addEventListener('ended', function() {
    audio1Ended = true;
    if (canPlayAudio2) {
      audio2.play();
    }
  });
});

在播放第一部分时,创建另一个音频标签来预加载后半部分,但不要播放。

<audio src="the second half.mp3” preload="auto"></audio>

当第一个音频触发结束事件时,将其URL更改为后半部分。

浏览器将从缓存中获取文件并立即开始播放。

很抱歉我英语不好,希望这能有所帮助。