Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   "audio.pause();" не работает. (https://javascript.ru/forum/misc/73663-audio-pause-%3B-ne-rabotaet.html)

Булат Азат улы 05.05.2018 09:16

"audio.pause();" не работает.
 
Всех приветствую. Делаю свой аудио-плеер, и вот такая проблема возникла: почему-то команда "audio.pause();" не выполняется. Сделал временно так, что при нажатии на кнопку проигрывания меняется знак с "Проиграть" на "Пауза", если стоит знак "проиграть" - меняется знак на "пауза" и выполняется "audio.play();" - это нормально работает. А вот при следующем нажатии знак на "проиграть" меняется, но аудио продолжает играть. При нажатии еще раз включается второе аудио поверх этого, и так далее. Вот код моего скрипта:
$("#playPause").click(function(){
	var audio = new Audio();
	audio.autoplay = false;
	audio.loop = true;
	audio.volume = 0.5;
	audio.src = '001.mp3';
	if($(this).text() == "\u25b6") {
		$(this).text("\u23f8");
		audio.play();
	} else {
		$(this).text("\u25b6");
		audio.pause();
	}
});

Подскажите пожалуйста, в чем у меня ошибка?

j0hnik 05.05.2018 13:57

var audio = new Audio();
	audio.autoplay = false;
	audio.loop = true;
	audio.volume = 0.5;
	audio.src = '001.mp3';

$("#playPause").click(function(){
	if($(this).text() == "\u25b6") {
		$(this).text("\u23f8");
		audio.play();
	} else {
		$(this).text("\u25b6");
		audio.pause();
	}
});


всю требуху надо наружу вынести, чтобы повторно не создавать аудио.

Булат Азат улы 05.05.2018 18:42

j0hnik,
Спасибо! Я понял, почему это происходило.


Часовой пояс GMT +3, время: 05:29.