我在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
,则可以递增计数。