Воспроизведение аудио по одному - PullRequest
0 голосов
/ 12 января 2020

У меня есть список аудио файлов. Как заставить их играть по очереди? Прямо сейчас Если я нажму кнопку воспроизведения, они будут играть все вместе.

const audioList = [ 'audio1', 'audio2', 'audio3', 'audio4', 'audio5' ]

let button = document.querySelector('#btnPlay').addEventListener('click', e=>{
    audioList.forEach(element => {
        let audio1 = new Audio(element);
        audio1.play();
    });

1 Ответ

1 голос
/ 12 января 2020

Вы можете достичь этого, используя событие «Закончено» для аудиоэлемента и изменив sr c после завершения каждой песни.

мой html файл:

<audio src=""></audio>
<button></button>

мой js файл:

const songs = [ 'audio1', 'audio2', 'audio3', 'audio4', 'audio5' ]
const audio = document.querySelector('audio');
const button = document.querySelector('button'); 

let songIndex = 0;
audio.src = songs[songIndex]

audio.addEventListener('ended', () => {
  songIndex++;
  if(songIndex >= songs.length) return;
  audio.src = songs[songIndex]
  audio.play()
})

document.addEventListener('click', () => audio.play())

Демонстрация Codepen: https://codepen.io/PatrykBuniX/pen/GRgGGyr Надеюсь, это помогло вам! : D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...