循环绑定以查找循环数

Loop binding to find number of loops

本文关键字:循环 查找 绑定      更新时间:2023-09-26

我在buzz.js文档中找不到这个,但循环事件有任何绑定吗。类似的东西

soundObject.bind('looping', function(e){
});

我想看看声音对象循环了多少次,如果有人了解这个库,有一个解决方法也会有所帮助的话。我尝试绑定到ended事件,但不起作用?

编辑:

我在想,作为一个黑客,我可以绑定到playing事件,并使用getPercent()方法来查看我何时达到100,并保留一个计数器来查找循环数?

既然没有使用循环选项触发的事件,那么为什么不通过绑定到ended事件来实现自己的循环功能,而不是再次调用play(),这样您就可以知道每次播放何时结束。

var loopCount = 0;
var mySound = new buzz.sound("my_cool_sound").bind('ended', function () {
    loopCount++;
    this.play();
}).play();

演示小提琴

编辑1:

没错。我以前的答案并没有像我想象的那样起作用:)。阅读了消息来源后,它们似乎没有引发任何公共事件。尽管它们似乎确实与某个私有的ended.buzzloop绑定。我在代码中找不到上述事件是触发器,但也许它对你有用

正如@koala所建议的那样,实现自己的循环可能是一个更好的选择。


旧答案-不起作用

我以前没用过buzz.js。阅读文档,我发现playing&paused事件。

播放

在媒体开始播放时发送(第一次、暂停后或结束后重新启动)。

我的想法是听听这两件事。如果在未引发pause的情况下引发playing,则可以递增计数。