Как в js остановить воспроизведение звука?

Есть много тем, где описывается решение с проблемой остановки звука js класса Audio, но всё не то.

stop() отсутствует и не работает.

pause() лишь приостанавливает звук. А мне нужно, чтобы при следующем нажатии play() он начинал играть с самого начала.

volume = 0; Только мютит звук и всё. С самого начала он играть не будет.

Так как остановить звук?


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

Автор решения: natus vincer

Можете так сделать.

sound.currentTime = 0;
sound.pause();
→ Ссылка
Автор решения: Олег Верушкин

Нашел хороший вариант: пустая функция load().

→ Ссылка
Автор решения: Олег

Если б гуглили "как задать воспроизведение аудио сначала", то бы сразу попался нужный ответ. А вопрос как остановить воспроизведение возвращает не те результаты. Команды audio.stop() не существует наверно потому, что её регистрация отнята бы время у разработчиков браузеров, (и деньги пришлось бы за это платить) но смысла пока мало, т. к., вместо этого можно audio.pause(); audio.currentTime = 0; и неважно, в какой последовательности. И ещё - если нужно, чтобы при следующем нажатии play() он начинал играть с самого начала, то наверно лучше перед началом воспроизведения и вставить audio.currentTime = 0;

playbutton.onclick = function(){
  audio.currentTime = 0;
  audio.play();
}

**

А вот функция audio.load() для этой цели не очень хорошая, т. к., она по новой загружает мета- и аудиоданные из файла, из-за чего контрольная панель плеера передёргивается, а если на сайте много посетителей, то это ещё может усилить нагрузку на сервер.

→ Ссылка