остановка аудио html5 - PullRequest
       5

остановка аудио html5

2 голосов
/ 15 февраля 2012

Как мне написать функцию, которая останавливает ВСЕ случаи воспроизведения аудио html5 в DOM?

html5 audio

<audio class="AudioPlayerV1" preload="none" width="292">
    <source src="test.mp3" type="audio/mpeg" />
</audio>

js

AudioPlayerV1('*').each(function() {
    this.setStop();
});

Ответы [ 3 ]

9 голосов
/ 15 февраля 2012
$.each($('audio'), function () {
    this.pause();
});

Это просто находит все элементы <audio> в DOM и использует стандартный API для приостановки воспроизведения для каждого.

Вот отличное прочтение о тегах <audio> и <video>:https://developer.mozilla.org/en/Using_HTML5_audio_and_video

Обновление

В документации для сценария AudioPlayerV1 указано, как вы приостанавливаете элемент <audio>:

$('#audio_id').AudioPlayerV1('pause');

Источник:http://1.s3.envato.com/files/14653378/index.html#how-to-use

Похоже, что плагин AudioPlayerV1 должен вызываться для выбора элемента (ов) DOM и передаваться в опции.

Update

Чтобы запустить плагин для приостановки нескольких элементов <audio>, вы должны сделать следующее:

$('audio').AudioPlayerV1('pause');

, который выбирает элементы <audio> в DOM и передает их плагину AudioPlayerV1.Плагин должен быть написан, чтобы справиться с этим, но если это не так, вы должны вызывать плагин для каждого элемента.Внутри цикла было бы проще всего:

$.each($('audio'), function () {
    $(this).AudioPlayerV1('pause');
});
1 голос
/ 21 марта 2013

сначала вы должны установить идентификатор для вашего аудиоэлемента

в вашем js:

var ply = document.getElementById('player');

var oldSrc = ply.src; // просто чтобы запомнить старый источник

ply.src = ""; // чтобы остановить плеер, вы должны заменить источник ничем

0 голосов
/ 28 апреля 2014

Это сработало для меня. .stop() выдал ошибку.

$.each($('audio'), function () {
    this.pause();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...