播放播放列表或按固定链接跟踪未跟踪
我有一个由trackId工作的嵌入式播放器,但是:
由于这两个原因,玩家需要trackId是不方便的。 有没有一种方法可以播放永久链接?
谢谢,马丁。
PS。 我目前的iframe代码如下所示:
SRC = “https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F$paramPlaylistID”
此iFrame代码(来自评论#1)不起作用:
SRC =“https://w.soundcloud.com/player/?url=http://api.soundcloud.com/resolve.json?url=http%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F$ paramPermalink”
有什么更好的我可以使用? 我认识到我可能需要对url = ... url =进行一些操作,但我不清楚是否可以解决这个问题,或者答案只适用于我是否创建了自定义球员。
再次感谢M.
有关resolve
请参阅SoundCloud的API文档:
当您只知道SoundCloud.com URL时,解析资源允许您查找和访问API资源。
$ curl -v 'http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/matas/hobnotropic&client_id=YOUR_CLIENT_ID'
< HTTP/1.1 302 Moved Temporarily
< Location: http://api.soundcloud.com/tracks/49931.json
此请求将解析并重定向到http://soundcloud.com/matas/hobnotropic的API资源URL。 只要按照重定向,你会得到你想要的表示。 解析器支持以下URL:
您可以从用户处获取永久链接,并获取曲目或播放列表ID,如下所示:
function getSoundCloudId(permalink, callback) {
var resolve = 'http://api.soundcloud.com/resolve.json?client_id=YOUR_CLIENT_ID&url=';
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if (this.readyState === 4 && this.responseText) {
var response = JSON.parse(this.responseText);
if (response.id) callback(response.id);
}
};
request.open('get', resolve+permalink, true);
request.send();
}
然后你就这样使用它:
getSoundCloudId('https://soundcloud.com/matas/sets/library-project', function(id){
// Do stuff with the ID
console.log(id);
})
链接地址: http://www.djcxy.com/p/65299.html