Аудио HTML5 запускает событие паузы при поискеHtml

Программисты Html
Ответить
Anonymous
 Аудио HTML5 запускает событие паузы при поиске

Сообщение Anonymous »

Я создаю аудиоплейлист с собственным элементом . Примерно так:

HTML

Код: Выделить всё




Play 0
Play 1
Play 2

У меня есть несколько прослушивателей событий на кнопках. Если я нажму одну из кнопок, в аудиоэлементе будет воспроизводиться правильный mp3-файл.

JAVASCRIPT

Код: Выделить всё

for (var i = 0; i < my_buttons.length; i++) {
my_buttons[i].addEventListener("click", buttonClickAction, false);
}
Я также добавил прослушиватель событий к событию воспроизведения и паузы элемента , поэтому две кнопки (собственное воспроизведение/пауза и ) ведут себя одинаково.

JAVASCRIPT

Код: Выделить всё

audio.addEventListener("play", audioPlayAction, false);
audio.addEventListener("pause", audioPauseAction, false);
Теперь у меня следующая проблема:

Если я нажму кнопку, начнет воспроизводиться эквивалентный трек. Если я затем ищу временную шкалу собственного проигрывателя, событие «пауза» и «старт» запускается элементом . Можно ли предотвратить запуск события «пауза/старт» при поиске? Или можно ли отличить обычное событие «пауза/старт» от события поиска «пауза/старт»?

Я надеюсь, что есть решение.

привет

РЕДАКТИРОВАТЬ

Чтобы вы могли понять, в чем именно заключается моя проблема, посмотрите этот фрагмент. В тот момент, когда я начинаю искать, кнопка мерцает:

Код: Выделить всё

var audio = document.getElementById("audio"),
button = document.getElementById("button"),
isPlaying = false;

var initPlayer = function() {
audio.addEventListener("play", audioPlayAction, false);
audio.addEventListener("pause", audioPauseAction, false);
audio.addEventListener("seeking", audioSeekingAction, false);
audio.addEventListener("seeked", audioSeekedAction, false);
button.addEventListener("click", buttonClickAction, false);
},
buttonClickAction = function(event) {
if(isPlaying){
audio.pause();
button.classList.add("is-playing");
}else{
audio.play();
button.classList.remove("is-playing");
}
},
audioPlayAction = function(event) {
button.classList.add("is-playing");
isPlaying = true;

},
audioPauseAction = function(event) {
button.classList.remove("is-playing");
isPlaying = false;
},
audioSeekingAction = function(event) {
event.target.play()
},
audioSeekedAction = function(event) {
event.target.play()
};

initPlayer();

Код: Выделить всё

.button-pause {
display:none;
}
.is-playing .button-pause {
display:inline-block;
}
.button-play {
display:inline-block;
}
.is-playing .button-play {
display:none;
}

Код: Выделить всё





PLAY
PAUSE



Подробнее здесь: https://stackoverflow.com/questions/502 ... ile-seeked
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»