在Soundcloud中按streamable=true过滤曲目
Filtering tracks by streamable = true in Soundcloud
我正在尝试使用Soundcloud的javascript SDK来返回可流化的曲目列表。
我的问题是:如何使用javascript SDK过滤搜索结果,只搜索可流媒体播放的歌曲?
以下是一个将返回无法流式传输的歌曲的示例:
SC.get('/tracks', {q: 'mat zo', filter: 'streamable'}).then(function (tracks) {
console.log(tracks);
});
以下是请求:
api.soundcloud.com/tracks?q=mat+zo&filter=可流式传输&format=json&client_id=[XXX]
我注意到这个响应中的第一个音轨具有streamable=false
响应片段:
streamable:false
tag_list:"混音Mat Zo Burn Ellie Goulding"
title:"烧伤(Mat-Zo混音)"
track_type:"
…
查看Soundcloud SDK文档,我看不出有什么方法可以做到这一点,因为"filter"查询参数只接受"(all,public,private)"。
https://developers.soundcloud.com/docs/api/reference#tracks(我正在看过滤器)
同样未回答的问题:stackoverflow.com/questions/2379111/filtering-tracks-by-streamable-in-soundcloud
提前谢谢,这是我的第一个问题。我可以根据要求提供更多的代码。
API上的可流化属性没有(记录的)过滤器。然而,你可以很容易地自己过滤掉不可伸缩的轨迹:
SC.get('/tracks', {q: 'mat zo'}).then(function (tracks) {
for(var i = 0; i < tracks.length; i++) {
if(!(tracks[i].streamable)) {
tracks.splice(i,1);
}
}
console.log(tracks);
});
如果没有要测试的令牌,很难判断。然而,围绕"搜索"的文档似乎暗示声音可以直接通过属性过滤:
某些资源类型(如声音)可以通过license、duration或tag_list等字段进行筛选。
// find all sounds of buskers licensed under 'creative commons share alike'
SC.get('/tracks', {
q: 'buskers', license: 'cc-by-sa'
}).then(function(tracks) {
console.log(tracks);
});
在您的情况下,您应该将license替换为streamable,将"cc by sa"替换为"true"。
- 有可能过滤来自嵌入式YouTube的声音吗
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- AngularJS-使用'true'属性
- 为什么我的d3.jsselectAll+过滤器没有过滤
- JavaScript-切换“;全部检查”;复选框true/false
- location.reload(true)崩溃浏览器选项卡
- 指令的模板必须只有一个根元素:With restrict E&替换true
- JavaScript:只有当数组中的所有项都为true时才执行函数
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 对于loop.if-仅在经过所有间隔后返回true
- Angular:使用选择列表选择过滤代码中的对象
- if(foo!==null)的计算结果为true,即使foo为null
- ngIf的计算结果始终为true
- 在单击时过滤 JSON
- 如何在BookshelfJS中通过加入来过滤结果
- 如何使用javascript过滤复杂的json对象
- 如果函数返回True,则显示Javascript按钮
- (false==false==true)怎么可能是真的
- 在Soundcloud中按streamable=true过滤曲目
- Angular.JS -未正确过滤/过度过滤-语法:filter:VAR:true