播放事件不会在HTML5小部件上启动时触发

时间:2012-04-23 21:01:41

标签: html5 soundcloud

当SoundCloud HTML5播放器窗口小部件加载了autoplay选项时,play事件在轨道启动时未触发。 但是,在加载窗口小部件(或将其他URL加载到窗口小部件)和轨道启动之间存在超时时间,因此调用该事件是一个很好的小部件。

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

1 个答案:

答案 0 :(得分: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