2013-07-27 62 views
2

我无法在buzz.js文档中找到它,但是有没有循环事件的绑定。像循环绑定找到循环数

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

}); 

什么我想看看有多少次声音对象就循环,如果任何人有解决这个库的知识有一个解决办法,这也将帮助。我试图绑定到ended事件,但这不起作用?

编辑:

我想作为我可以绑定到playing事件并使用getPercent()方法看的时候我已经打100并保持一个计数器来发现循环次数黑客攻击?

回答

0

由于没有事件可以用循环选项触发,因此为什么不通过绑定到ended事件来实现自己的循环功能,并且再次调用play(),这样您就可以知道每次播放何时完成。

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

Demo fiddle

0

编辑1:

真。我以前的答案不起作用,因为我认为它可能:)。在阅读source后,他们似乎没有触发任何公共事件。虽然他们确实似乎绑定到一些私人的,ended.buzzloop。我无法找到代码中触发的上述事件,但也许它可能适用于您

正如@koala建议的那样,实现您自己的循环可能会变成更好的选择。


旧的答案 - 不起作用!

我以前没有用过buzz.js。阅读文档,我发现playing & pausedevents

当媒体开始播放(无论是第一次,已被暂停之后,或结束,然后重新启动后)发送。

我的想法是听这两个事件。如果playing在没有pause的情况下引发,那么您可以增加您的计数。

+0

的播放事件处理程序只调用一次,除非暂停或结束已经发生那么不会再调用。由于'loop()'从不调用结束或暂停,我的计数器将如何递增? – Warz

+0

增加了另一个建议。 –