howler.js: Какое событие запускается (непрерывно) во время воспроизведения звука? - PullRequest
0 голосов
/ 13 июня 2019

Я использую howler.js для воспроизведения аудио. Функция, которую я пытаюсь реализовать, заключается в выделении текста во время воспроизведения звука. У меня есть метки времени (начало и конец) данных JSON для каждого слова.

Чтобы добиться выделения слова (слов) звуком, я подумал о том, чтобы циклически проходить по словам для каждого слова, если текущее время поиска находится в ограниченном диапазоне времени начала и окончания слова, тогда Я изменю атрибут слова HTML SPAN.

Разве мне не нужно событие, которое продолжает срабатывать во время воспроизведения звука? Другими словами, если бы моей целью было реализовать панель поиска аудио, как бы я достиг этой цели? Из документации howler.js цель функции onseek неясна, она не запускается. Вот что я попробовал из документации.

sound = new Howl({
   src: ['output.mp3'],
   html5: true,
   onseek: function() {
     console.log('seeking...');
   }
});

Или я должен смотреть на что-то еще?

1 Ответ

0 голосов
/ 19 июня 2019

onseek срабатывает, когда звук очищается в другую позицию.Обычное воспроизведение не вызывает событие поиска.

Вместо этого я бы порекомендовал что-то вроде этого ...

function isPlaying(){
   if(sound.playing()){
      console.log('audio is currently playing...');
      setTimeout(isPlaying, 1000); //adjust timeout to fit your needs
   }
}

sound = new Howl({
   src: ['output.mp3'],
   html5: true,
   onplay: isPlaying
});

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

...