2012-04-23 22 views
1

当SoundCloud HTML5播放器小部件加载了autoplay选项时,play事件在轨道启动时不会触发。 但是,在加载小部件(或将其他URL加载到小部件中)和轨道开始时间之间存在超时,所以它是调用事件的好小部件。播放事件不会在HTML5小部件上启动时触发

这是设计还是问题需要解决?

+0

你的问题都很清楚。你在说什么小工具?你能提供一个代码示例来帮助我们理解你的问题吗?那里有 – 2012-04-23 21:13:43

+0

。 对不起,我强硬的标签清楚。 – cucko 2012-04-24 11:06:50

回答

2

当使用auto_play选项时,HTML5播放器窗口小部件应该触发SC.Widget.Events.PLAY事件。下面是我用来验证代码片段:

HTML:

<!doctype html> 
<html> 
    <head> 
    <title>Widget Demo</title> 
    <style type="text/css"> 
    iframe { 
     display:block; 
     border:0; 
     margin-bottom: 20px; 
     height: 365px; 
    } 
    </style> 
    </head> 
    <body> 
    <iframe id="widget" width="100%"></iframe> 
    </body> 
    <script src="http://w.soundcloud.com/player/api.js"></script> 
    <script src="script.js"></script> 
</html> 

的JavaScript(的script.js的内容):

(function() { 
    var iframe = document.querySelector('#widget'); 
    iframe.src = 'http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/43315398&auto_play=true'; 

    var widget = SC.Widget(iframe); 

    widget.bind(SC.Widget.Events.PLAY, function(eventData) { 
     alert('Playing...'); 
    }); 
}()); 

您可以检查出的工作示例here on jsfiddle

+0

我发现了这个问题。在soundcloud小部件游乐场中,所有事件都绑定在'iframe.onload'上,即使在'widget.ready'事件中。 谢谢。 – cucko 2012-04-25 10:01:43

相关问题