2013-03-13 115 views
1

随着Soundcloud,我一直在寻找API,但我不太确定做我想做的最好的方式。检索Soundcloud搜索结果并嵌入结果

我正在建立一个网站,我将用它来在Soundcloud上托管一些声音文件。我希望能够让人们搜索声音(他们将成为教堂网站的布道mp3文件),然后将结果与嵌入式播放器一起列在我们的网站上。

对于每个返回的搜索结果,使用哪种最佳方法来显示玩家?显然,速度是我们关心的 - 所以想要以最好的方式来处理这个问题。

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

感谢您的帮助,

托比。

回答

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在每个迭代当前曲目(currentTrack.id)的声音ID,添加处理模板到html
  6. 打印html

*注:

  • 模板对于HTML5 widget作为一个字符串(与当前的声音ID喜欢的东西,当然&color=ff6600&auto_play=false匹配为自己嵌入所需的PARAMS更换{trackId}在迭代,并{widgetParams})(关于这一点,可以发现here):

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

  • 的基本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 Reference

+0

绝对完美 - 堆感谢这个!所有我需要知道。 – 2013-03-14 20:50:46

+0

@gryzzly:我可以用的SoundCloud的API(基于用户输入)从我的网站发送请求,并获得该请求的SoundCloud的搜索结果,并发挥在我的网站? – 2014-02-20 18:46:53

+0

@ ShumailMohy ud声浪是的,你可以 – 2014-02-24 08:06:41