如何按顺序播放多个音频文件

4
我有几个长故事,其源音频是逐句的音频文件。我想创建一个网页,让人们可以多次听一段特定故事的单个句子,或从头到尾听整个故事。
首先,我的网页有很多

你的问题类似于这个:https://dev59.com/EWMl5IYBdhLWcg3wmn84 - Sayed Rafeeq
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - JawguyChooser
3个回答

8

当先前的音频完成时,您可以使用结束事件来播放下一个音频(通过JavaScript顺序播放HTML 5音频):

var sounds = new Array(new Audio("1.mp3"), new Audio("2.mp3"));
var i = -1;
playSnd();

function playSnd() {
    i++;
    if (i == sounds.length) return;
    sounds[i].addEventListener('ended', playSnd);
    sounds[i].play();
}

0

function playAudio(src) {
  var audioElement = new Audio(src);
  audioElement.play();
  return audioElement
}

const sequences = ['./audio/person.m4a', './audio/4.m4a', './audio/5.m4a', './audio/6.m4a', './audio/6.m4a', './audio/6.m4a', './audio/room.m4a', './audio/3.m4a']

// play audio
let index = 0
const audioElement = playAudio(sequences[index])
audioElement.addEventListener('ended', (e) => {
  index++
  if (index < sequences.length) {
    audioElement.src = sequences[index]
    audioElement.play();
  }
})


你的答案可以通过添加额外的支持信息来改进。请[编辑]以添加进一步的细节,例如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

-1

我使用JavaScript来解决问题,使用音频对象和setInterval。以下是一个示例:

  var sndLetItSnow = new Audio("audio/letItSnow.m4a");
  var sndSanta = new Audio("audio/snow.m4a");

  var playlist = [sndLetItSnow, sndSanta];

  var current = null;
  var idx = 0;

  function playSound() {
      if (current === null || current.ended) {
          // go to next
          current = playlist[idx++];

          // check if is the last of playlist and return to first
          if (idx >= playlist.length)
              idx = 0;

           // return to begin
           current.currentTime=0;

           // play
           current.play();
      }

  }

  setInterval(playSound, 1000);

如需有关Audio对象的更多文档,请访问此页面:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement

希望这能帮到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接