1

当 SoundCloud HTML5 Player Widget 加载autoplay选项时,play在曲目开始时不会触发事件。但是,在加载小部件(或将其他 URL 加载到小部件中)和轨道开始时之间存在超时,因此调用事件是一个不错的小部件。

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

4

1 回答 1

2

当使用 auto_play 选项时,HTML5 Player 小部件应触发 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...');
    });
}());

您可以在 jsfiddle 上查看一个工作示例。

于 2012-04-25T01:40:58.613 回答