Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript howler.js:音频播放时(连续)触发哪个事件?_Javascript_Audio_Event Handling_Howler.js - Fatal编程技术网

Javascript howler.js:音频播放时(连续)触发哪个事件?

Javascript howler.js:音频播放时(连续)触发哪个事件?,javascript,audio,event-handling,howler.js,Javascript,Audio,Event Handling,Howler.js,我正在使用howler.js播放音频。我尝试实现的功能是在播放音频时突出显示文本。我已经为每个单词添加了时间戳(开始和结束)json数据 为了用音频突出显示单词,我想到的一种方法是循环单词,对于每个单词,如果当前搜索时间在单词开始和结束时间的限定范围内,那么我将更改单词的HTML SPAN属性 难道我不需要一个在播放音频时持续触发的事件吗?换句话说,如果我的目标是实现音频搜索栏,我将如何实现这个目标?从howler.js的文档中可以看出,onseek函数的目标不明确,它没有启动。以下是我从文档中

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

为了用音频突出显示单词,我想到的一种方法是循环单词,对于每个单词,如果当前搜索时间在单词开始和结束时间的限定范围内,那么我将更改单词的
HTML SPAN
属性

难道我不需要一个在播放音频时持续触发的事件吗?换句话说,如果我的目标是实现音频搜索栏,我将如何实现这个目标?从howler.js的文档中可以看出,
onseek
函数的目标不明确,它没有启动。以下是我从文档中尝试的内容

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

或者我应该看别的吗?

当音频被刷到不同的位置时,会触发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
});

这里有一个非常简单的演示,演示了它的工作原理:

如果我的答案解决了你的问题,你能告诉我吗?如果是的话,你能把它标记为答案吗?谢谢……或者我想我建议你看看他们在感谢中提出的解决方案,以澄清和推荐替代方案。它起作用了。同时,为了继续,我去掉了howler.js,改为使用html5音频-非常基本和整洁!很高兴听到你找到了适合你的东西!