Как сделать так, чтобы при воспроизведении аудио файла, при новом воспроизведении этого же файла аудио прерывалось и начинал

Как сделать так, чтобы при воспроизведении аудио файла, при новом воспроизведении этого же файла аудио прерывалось и начиналось заново воспроизводиться?

function playAudio(word) {
var myAudio = new Audio;
myAudio.src = word;
myAudio.play();

}

Параметру передается ссылка на аудио файл.


Ответы (1 шт):

Автор решения: Lukas

Для этого надо два действия:

  1. пауза
  2. задание нулевого значения для свойства currentTime

document.querySelectorAll('.play').forEach(item => item.addEventListener('click', playAudio));
const myAudio = new Audio();

function playAudio(word) {
myAudio.pause();
myAudio.currentTime = 0.0;
myAudio.src = this.getAttribute('data-mp3');
myAudio.play();
}
<button class="play" data-mp3='https://cdn6.sefon.pro/files/prev/196/Slava%20Marlow%20-%20%D0%A1%D0%BD%D0%BE%D0%B2%D0%B0%20%D0%AF%20%D0%9D%D0%B0%D0%BF%D0%B8%D0%B2%D0%B0%D1%8E%D1%81%D1%8C%20%28192kbps%29.mp3'>Sound 1</button>
<button class="play" data-mp3='https://cdn1.sefon.pro/files/prev/196/%D0%90%D1%80%D1%82%D1%91%D0%BC%20%D0%9A%D0%B8%D0%BD%D0%B3%20-%20%D0%9B%D1%83%D0%BD%D0%B0%20%D0%AF%D1%80%D1%87%D0%B5%20%D0%A1%D0%BE%D0%BB%D0%BD%D1%86%D0%B0%20%D0%93%D0%BE%D1%80%D0%B8%D1%82%20%28192kbps%29.mp3'>Sound 2</button>

→ Ссылка