Как автоматически воспроизвести следующую песню с ванильным JavaScript - PullRequest
0 голосов
/ 03 ноября 2019

Привет. Я пытаюсь автоматически воспроизвести следующую песню, когда текущая воспроизводимая песня заканчивается.

Я также хотел узнать, как можно убедиться, что список воспроизведения начинается с начала, когда заканчивается последняя песня.

Спасибо!

var songs = [
  "song1.mp3",
  "song2.mp3",
  "song3.mp3",
  "song4.mp3"
];

var song = new Audio();
var currentSong = 0;
var len = currentSong.length - 1;

function playSong() {
  song.src = songs[currentSong];
  song.play();
}

// play the next song when current song ends
song.addEventListener("ended", function playNextS() {
      currentSong++;
      if (currentSong == len) {
        currentSong = 0;
        playSong();
      }
<div class="player">
  <div class="songCover"><img src="" alt="" /></div>
  <div class="about">
    <div class="songTitle"></div>
    <div class="Artist"></div>
  </div>
</div>

1 Ответ

0 голосов
/ 03 ноября 2019

Попробуйте, вы не используете массив правильно

var songs = [
  "song1.mp3",
  "song2.mp3",
  "song3.mp3",
  "song4.mp3"
];

var song = new Audio();
var currentSong = 0;
var len = songs.length;

function playSong(index) {
  song.src = songs[index];
  song.play();
}
song.addEventListener("ended", function playNextS() {
      currentSong++;
      if (currentSong == len) {
        currentSong = 0;
        playSong(currentSong);
      }
      else{
        playSong(currentSong);
      }
      
<div class="player">
  <div class="songCover"><img src="" alt="" /></div>
  <div class="about">
    <div class="songTitle"></div>
    <div class="Artist"></div>
  </div>
</div>
...