Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Воспроизведение аудио (https://javascript.ru/forum/misc/59299-vosproizvedenie-audio.html)

MaksZua 04.11.2015 18:30

Воспроизведение аудио
 
Всем привет.

Поставил скрипт воспроизведения музыки, при заходе на сайт сразу играет музыка(но есть кнопка паузы) Помогите сделать наоборот (чтоб молчал, но была кнопка плэй), а то методом тыка зае##лся менять 'true' на 'false' и 'play' на 'pause'. По JS нуб. Заранее спасибо!

Вот кнопка
<li id="audio-control"><a href="javascript:void(0);"><i class="fa fa-pause"></i></a></li>


Ну и JS..
/* Site Audio
************************/
var audio = new Audio('audio/audio.ogg', 'audio/audio.mp3');
var $audioControl = $('#audio-control');
var audioPlay = $audioControl.length > 0 ? true : false;
if (audioPlay == true) {
if (audio.canPlayType('audio/mpeg;')) {
audioPlay = true;
audio.type = 'audio/mpeg';
audio.src = 'audio/audio.mp3';
} else if (audio.canPlayType('audio/ogg;')) {
audioPlay = true;
audio.type = 'audio/ogg';
audio.src = 'audio/audio.ogg';
} else {
audioPlay = false;
$audioControl.remove();
}

if (audioPlay === true) {
audio.play();
audio.volume = 0.75;
$audioControl.on('click', 'a', function(e) {
if (audioPlay === true) {
audio.pause();
audioPlay = false;
$('i', $audioControl).removeClass().addClass('fa fa-play');
} else {
audio.play();
audioPlay = true;
$('i', $audioControl).removeClass().addClass('fa fa-pause');
}

e.preventDefault();
});
}
}

Опан 04.11.2015 22:23

Обычно автозапуск плеера после обновления страницы возможен при установке свойства audio.autoplay=true; или внутри тега аудио просто autoplay. Тут я ничего из этого не обнаружил, а плеер всё равно стартует автоматически. Странно. Но может быть потому, что я мало смыслю в jquery. Пример, который я хочу предложить - фактически то, что требуется, но по-проще и без jquery:
<audio id=audio>
	<source type="audio/mpeg" src="audio/audio.mp3"></source>
	<source type="audio/ogg" src="audio/audio.ogg"></source>
</audio>
<button onclick="if(audio.paused){audio.play()}else{audio.pause()}">кнопка</button>


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