使用Chrome扩展内容脚本操作Soundcloud流

时间:2014-05-22 21:45:06

标签: angularjs google-chrome-extension soundcloud

我正在使用AngularJS编写Chrome扩展程序,以向Soundcloud流页面添加功能。我想允许用户创建艺术家群组,以便他们只能看到来自该组艺术家的曲目/分享/播放列表的流。

例如,我关注了500位艺术家,但我希望能够快速看到来自我最喜欢的10位艺术家或我所关注的艺术家的相同标签的流。

我正在寻找有关如何尽可能无缝地实现这一目标的建议。截至目前,我的方法是使用Soundcloud API获取轨道并使用angular的ng-repeat来显示注入流通常所在位置的视图中的轨道。我意识到使用Soundcloud小部件太慢并且无法自定义以类似于本机流项目,因此我复制/粘贴了实际流项目使用的HTML,但显然波形/注释画布和按钮功能不起作用

就我如何处理这个问题,我有哪些选择?我是否需要编写自己的播放器,看起来像原生的Soundcloud播放器?任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:3)

您应该使用记录良好的SoundCloud API

如果您已经拥有曲目/艺术家的ID,您只需要请求该网址

获取     http://api.soundcloud.com/tracks/ID_OF_TRACK.json?client_id=YOUR_CLIENT_ID

获取有关此曲目的所有信息,例如waveform_url,以及您所谈论的评论:

获取     http://api.soundcloud.com/tracks/ID_OF_TRACK/comments.json?client_id=YOUR_CLIENT_ID

重现评论的行为:

发布 http://api.soundcloud.com/tracks/ID_OF_TRACK/comments.json?client_id=YOUR_CLIENT_ID

(使用一个表示文本的正文参数和自歌曲开始以来的毫秒时间戳,请注意您必须连接)

如果您没有该曲目的ID,您还可以使用resolve,如果您只有网址,则会为您提供有关资源的所有信息:

获取     http://api.soundcloud.com/resolve.json?url=https://soundcloud.com/poldoore/pete-rock-c-l-smooth-they&client_id=YOUR_CLIENT_ID