1

使用 Soundcloud,我一直在研究 API,但我不太确定做我想做的最好的方法。

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

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

只是一个通用的方法就可以了——如果有一两行示例代码,那就太棒了。我正在使用 PHP。

谢谢你的帮助,

托比。

4

1 回答 1

1

一般方法可能如下:

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

*备注:

  • 作为字符串的 HTML5 小部件的模板({trackId}在迭代时替换为当前声音 id,并且当然与{widgetParams}&color=ff6600&auto_play=false自己的嵌入所需的参数相匹配)(更多信息可以在这里找到):

    <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>
    
  • 当我说流程模板时,我的意思是你需要用其他一些字符串替换“键”,你可以用不同的语言轻松地做到这一点,无论replace是字符串类型的方法,还是谷歌的“变量插值”。

  • 基本 API URL 可以不同——您可以使用q=QUERY不同的端点,例如

    • /users/USER_ID/tracks.json
    • /groups/GROUP_ID/tracks.json


    或者您可以组合过滤器,如标签http://api.soundcloud.com/tracks.json?q=YOUR_QUERY&tags=sermon&client_id=YOUR_CLIENT_ID

有关 API 响应和选项,请参阅SoundCloud API 参考

于 2013-03-14T18:21:46.293 回答