我正在处理这件事:http://grouprecorder.soundcloudlabs.com - 来自Soundcloud的录音小工具。我按照它应该的方式工作,将轨道录制和上传到指定的组,以及列出该组的轨道。不过,最重要的是,我想添加一个简单的功能,在博客上制作一个实验性的音频评论系统。
为了做到这一点,我必须区分不同帖子上的评论。我设法这样做,将WordPress帖子的ID传递给小部件的iFrame,并将其作为SoundCloud轨道标签进行传输。它准确上传。
然而,一旦我想过滤要在小部件中列出的曲目,只显示具有正确标签的曲目,我有点迷失。
这是代码的原始部分:
return SC.get(GR.groupUrl + "/tracks", {
limit: 5,
},
足够简单。我尝试添加标签,taglist,tag_list的所有变体,这些变体看起来很遥远,如:
return SC.get(GR.groupUrl + "/tracks", {
limit: 5,
tags: postIDtag
},
- postIDtag 是我的功能非常好的postID变量。
然而,小部件不断发布未经过滤的小组曲目的整个列表。
其他人似乎过去曾遇到过相关问题。似乎无法同时按用户和标签进行过滤。也许群体也是如此。如果是这样单独使用标签对我来说没问题,因为我可以使它们具体到足以排除组外的任何轨道。但我是javascript的新手,所以我不确定是不是我或他们,这是错误的。任何人都可以帮助我,或者我尝试API中不支持的东西?
答案 0 :(得分:1)
我过去使用Soundcloud API做了很多工作,发现用于在页面上呈现特定数据的API本身非常糟糕。
我为避免这些问题所做的工作是使用track数组本身,而不是通过soundcloud API处理数组。这是一个例子:
$.getJSON("http://api.soundcloud.com/groups/57713/tracks.json?client_id=YOUR_CLIENT_ID", function(data) {
var tracks = $.map(data, function(track) {
return {
track: track.title,
stream: track.stream_url + '?client_id=YOUR_CLIENT_ID',
tags: track.tag_list
};
});
console.log(tracks);
});
更新时间:2014年5月27日
您现在在控制台中看到的是两个单独的日志:
console.log(data)
显示来自soundcloud的返回对象console.log(this.tracks)
以声音形式显示soundcloud中的对象。