微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何防止 Wavesurfer.js 通过点击波形停止播放?

如何解决如何防止 Wavesurfer.js 通过点击波形停止播放?

我有一个带有(工作)播放/暂停按钮和波形的 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();
  }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。