【问题标题】:howler.js: Which event is fired (continuously) while audio is playing?howler.js:播放音频时(连续)触发哪个事件?
【发布时间】:2019-06-13 07:30:50
【问题描述】:

我正在使用 howler.js 播放音频。我试图实现的功能是在播放音频时突出显示文本。我为每个单词加了时间戳(开始和结束)json数据。

为了实现用音频突出显示单词,我想到的一种方法是循环遍历单词,对于每个单词,如果当前查找时间在单词的开始和结束时间的有界范围内,那么我将更改单词HTML SPAN 的属性。

我不应该需要一个在播放音频时持续触发的事件吗?换句话说,如果我的目标是实现音频搜索栏,我将如何实现该目标?从 howler.js 的文档来看,onseek 函数的目标不清楚,它没有触发。这是我从文档中尝试的内容。

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

或者我应该看看别的东西?

【问题讨论】:

  • 能否告诉我我的回答是否解决了您的问题?如果是这样,您能否将其标记为答案?谢谢??????
  • ...或者我猜不??
  • 我建议你看看他们在examples提出的解决方案

标签: javascript audio event-handling howler.js


【解决方案1】:

当音频被拖到不同的位置时会触发 onseek。正常播放不会触发 seek 事件。

我推荐的是这样的......

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
});

这是一个非常基本且肮脏的演示,表明它可以工作:demo

【讨论】:

  • 感谢您澄清和推荐替代方案。有用。同时,为了开始,我摆脱了 howler.js,而是使用 html5 音频 - 非常基本和整洁!
  • 很高兴听到您找到了适合您的东西! ?
猜你喜欢
  • 2020-02-25
  • 1970-01-01
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多