【问题标题】:Custom Soundcloud Widget (api) Player自定义 Soundcloud 小部件 (api) 播放器
【发布时间】:2017-12-08 23:22:33
【问题描述】:

我正在尝试为一些 Soundcloud 曲目创建自定义播放器。这个想法是隐藏 iframe 并创建一些播放器来播放不同的曲目。加载和播放一切正常,但我有两个挑战。

  1. 如何创建进度条 (SC.Widget.Events.PLAY_PROGRESS)
  2. 如何创建下载链接?

从我编码的方式来看一个 sn-p:

    (function(){
    var widgetIframe = document.getElementById('sc-widget'),
        widget       = SC.Widget(widgetIframe);

    widget.bind(SC.Widget.Events.READY, function() {

    $('#play').click(function(){
        widget.play();
    });
});  }());

糟糕的是,OPEN API 已关闭..

【问题讨论】:

    标签: api widget soundcloud


    【解决方案1】:

    如果您尝试使用自定义播放器流式传输曲目,我建议您根本不要使用该小部件。而是使用streaming SDK directlyThere are methods 那里可以完成加载、播放、暂停、搜索、获取歌曲的当前时间等所需的一切操作。

    要初始化流播放器,您可以执行以下操作:

    SC.initialize({
      client_id: "<client id>"
    });
    
    SC.stream("/tracks/" + song_id).then(function (player) {
      player.play();
    }

    要构建实际的进度条,您可以在流函数中执行如下操作(此示例使用 JQuery,但您不需要):

    player.on("time", function () {
        var current_time = player.currentTime();
        var current_duration = player.options.duration;
        $(".scrubber .scrubber_fill").css("width", ((current_time / current_duration) * 100) + "%");
    });
    

    【讨论】:

    • 听起来不错。由于 API 关闭,我选择了小部件。非常感谢您的思考。 SC:“SoundCloud 的手动应用注册流程目前已关闭,因此无法注册新应用”
    • 啊,明白了。好吧,希望我的回答对再次打开api注册的人有所帮助。
    猜你喜欢
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多