问题描述
我有一个带有(工作)播放/暂停按钮和波形的 wavesurfer 播放器 (https://wavesurfer-js.org/)。 目标:如果播放器正在运行,单击波形会从新位置继续播放。 现在,单击正在运行的播放器的波形会使播放器暂停。 进度正确移动到新位置,点击播放按钮从那里开始播放。 我可以捕获(wavesurfer 未记录)点击事件
myWaveSurfer.drawer.on('click',e => {
myWaveSurfer.play();
});
但这似乎不起作用。我已经尝试过 e.preventDefault()
。
任何想法都非常感谢。
解决方法
我的猜测是这与 4.2 版 (issue on Github) 中引入的错误有关。 4.4 版应该包含一个修复程序,所以我建议更新或恢复到 4.1。
如果更新不是一个选项,即使 play()
已经返回 true,在 seek
事件上简单地调用 isPlaying()
似乎也有效。感觉有点 hacky,因为这不是预期的行为,但这里有一个例子:
wavesurfer.on('seek',() => {
if (wavesurfer.isPlaying()) {
wavesurfer.play();
}
});