在 Soundcloud 中通过 streamable = true 过滤曲目
Filtering tracks by streamable = true in Soundcloud
我正在尝试使用 Soundcloud 的 javascript SDK 来 return 可流式播放的曲目列表。
我的问题是:如何使用 javascript SDK 筛选仅可流式传输歌曲的搜索结果?
这是一个示例,其中 return 歌曲无法流式传输:
SC.get('/tracks', {q: 'mat zo', filter: 'streamable'}).then(function (tracks) {
console.log(tracks);
});
请求结果如下:
api.soundcloud.com/tracks?q=mat+zo&filter=streamable&format=json&client_id=[XXX]
我注意到此响应中的第一首曲目有 streamable=false。
响应片段:
...
streamable: false
tag_list: "Remix Mat Zo Burn Ellie Goulding"
title: "Burn (Mat Zo Remix)"
track_type: ""
...
查看 Soundcloud SDK 文档,我没有找到执行此操作的方法,因为 'filter' 查询参数仅接受“(all, public, private)”。
https://developers.soundcloud.com/docs/api/reference#tracks
(我正在查看过滤器)
同样未回答的问题:
计算器。com/questions/23791711/filtering-tracks-by-streamable-in-soundcloud
提前致谢,这是我的第一个问题。我可以根据要求提供更多我的代码。
没有令牌来测试很难说。然而,"Search" 周围的 documentation 似乎暗示可以直接通过 属性 过滤声音:
Some resource types, such as sounds, can be filtered by fields like license, duration or 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'。
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);
});
我正在尝试使用 Soundcloud 的 javascript SDK 来 return 可流式播放的曲目列表。
我的问题是:如何使用 javascript SDK 筛选仅可流式传输歌曲的搜索结果?
这是一个示例,其中 return 歌曲无法流式传输:
SC.get('/tracks', {q: 'mat zo', filter: 'streamable'}).then(function (tracks) {
console.log(tracks);
});
请求结果如下:
api.soundcloud.com/tracks?q=mat+zo&filter=streamable&format=json&client_id=[XXX]
我注意到此响应中的第一首曲目有 streamable=false。
响应片段:
...
streamable: false
tag_list: "Remix Mat Zo Burn Ellie Goulding"
title: "Burn (Mat Zo Remix)"
track_type: ""
...
查看 Soundcloud SDK 文档,我没有找到执行此操作的方法,因为 'filter' 查询参数仅接受“(all, public, private)”。
https://developers.soundcloud.com/docs/api/reference#tracks (我正在查看过滤器)
同样未回答的问题: 计算器。com/questions/23791711/filtering-tracks-by-streamable-in-soundcloud
提前致谢,这是我的第一个问题。我可以根据要求提供更多我的代码。
没有令牌来测试很难说。然而,"Search" 周围的 documentation 似乎暗示可以直接通过 属性 过滤声音:
Some resource types, such as sounds, can be filtered by fields like license, duration or 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'。
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);
});