检索Soundcloud搜索结果并嵌入结果

时间:2013-03-13 23:43:58

标签: php soundcloud

有了Soundcloud,我一直在关注API,但我不太确定做我想做的最好的方法。

我正在构建一个网站,我将用它在Soundcloud上托管多个声音文件。我希望能够让人们搜索声音(它们将成为教会网站的布道mp3文件),然后在我们的网站上列出结果以及嵌入式播放器。

用于为每个返回的搜索结果显示播放器的最佳方法是什么?显然,速度是我们关心的问题 - 所以我想以最好的方式来解决这个问题。

只是一般的方法会很好 - 如果有一两行代码示例,那就太棒了。我正在使用PHP。

感谢您的帮助,

托比。

1 个答案:

答案 0 :(得分:1)

一般方法可能如下:

  1. 从用户那里获取搜索查询
  2. http://api.soundcloud.com/tracks.json?q=YOUR_QUERY&client_id=YOUR_CLIENT_ID *
  3. 发出请求
  4. 获取JSON,其中包含可以迭代的轨道数组并访问属性,如声音ID和解析它,将其存储在变量中(可能tracks
  5. 创建一个变量,一个空字符串(可能是html
  6. tracks列表进行迭代,为HTML5小部件 * 取一个模板,并替换声音id的键,其中声音ID为当前曲目(currentTrack.id)on每次迭代,将处理后的模板添加到html
  7. 打印html
  8. * 注意:

    • HTML5小部件的模板作为字符串(在迭代时将{trackId}替换为当前的声音ID,而{widgetParams}的{​​{1}}当然与您自己的所需参数匹配嵌入)(更多关于此问题可以找到here):

      &color=ff6600&auto_play=false
    • 当我说流程模板时,我的意思是你需要将“密钥”替换为其他字符串,你可以用不同的语言轻松地做到这一点,{String}类型的<iframe width="100%" height="166" scrolling="no" frameborder="no" src="http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F{trackId}{widgetParams}"></iframe> 方法,或google“变量插值“。

    • 基本API网址可以不同 - 您可以将replace与不同的端点结合使用,例如

      • q=QUERY
      • /users/USER_ID/tracks.json


      或者您可以组合过滤器,例如标记/groups/GROUP_ID/tracks.json

    对于API响应和选项,您可以参考SoundCloud API Reference