自动播放下一个soundcloud

时间:2014-03-04 21:11:46

标签: javascript jquery youtube widget soundcloud

我目前正在处理我的音乐博客,而我正试图让小部件在上一个完成时启动。我同时拥有soundcloud和youtube小部件,但优先考虑的是为soundcloud小部件实现此功能。

每个iframe都有2个类.widget& .soundcloud_widget用于soundcloud和.widget& .youtube_widget for youtube。最后,每个小部件按照幻影的顺序获取id“widget1”,“widget2”等。

想法是获取事件“SC.Widget.Events.FINISH”,获取相应小部件的id,“递增”它,然后进行下一个播放。

不幸的是,我正在努力使用javascript& soundcloud的文档,我真的很感激一些帮助!

提前致谢

PS:这是执行上述操作的代码,我没有其他任何可用的代码......

    <script type="text/javascript">
    function autoPlayInitiate () {
        var i=1; 
        $("iframe[src^='https://w.soundcloud.com/']").addClass("widget soundcloud_widget"); 
        $("iframe[src^='//www.youtube.com']").addClass("widget youtube_widget");
        $('.widget').each(function(){
          $(this).attr('id','widget'+i);
          i++;
        }); 
    }
    window.onload = autoPlayInitiate;

     $(document).ready(function () { 
       var ScWidget = $('.soundcloud_widget');
     }
</script>

1 个答案:

答案 0 :(得分:0)

首先,我认为解决此问题的最简单方法是选择其中一个播放器(youtube或soundcloud)并使用播放列表功能来展示您的声音。 这是一个在Sound Cloud中使用播放列表的实际示例
http://runnable.com/UuhEs3Yq2_8hAACT/embbed-soundcloud-widget-using-javascript
相关代码:

function embed (id) {
  SC.oEmbed("http://soundcloud.com/" + id // user or playlist to embed
    , { color: "ff0066"
      , auto_play: true
      , maxwidth: 500
      , maxheight: 1000
      , show_comments: true } // options
    , document.getElementById("scWidget") // what element to attach player to
  );
}

$(document).ready(
  function () {
    embed("dj-faze");
  }
);

但是,如果您希望走很长的路线,您将需要熟悉小部件API:
http://developers.soundcloud.com/docs/api/html5-widget#
bind(eventName,listener)是你最感兴趣的东西

var iframeElement   = document.querySelector('iframe');
var iframeElementID = iframeElement.id;
var widget         = SC.Widget(iframeElement);
widget.bind(SC.Widget.Events.FINISH, function () {
  alert('add code to play next song here')
});

一旦网站完成维护,我将尝试在runnable上建立一个新的例子