你们能帮我吗?:我想从我的声音云曲目中列出一个列表,当我用JavaScript点击它时播放任何曲目,但它对我不起作用:(
html文件
<script src="//connect.soundcloud.com/sdk.js"></script>
<body>
<ol id="track-list"></ol>
</body>
js文件:
function PlayIt(ID){
SC.stream("/tracks"+ID, function(sound){
soundManager.stopAll();
sound.play();
});
}
SC.initialize({
client_id: "YOUR_CLIENT_ID",
redirect_uri: "http://example.com/callback.html",
});
/**
Once that's done you are all set and ready to call the SoundCloud API.
**/
/**
Call to the SoundCloud API.
Retrieves list of tracks, and displays a list with links to the tracks showing 'tracktitle' and 'track duration'
**/
var userId = 39090345; // user_id of Prutsonic
SC.get("/tracks", {
user_id: userId,
limit: 100
}, function (tracks) {
var tmp = '';
for (var i = 0; i < tracks.length; i++) {
var TrackId=tracks[i].id;
tmp = '<a href="#" onclick="PlayIt('+TrackId +')">' + tracks[i].title + ' - ' + tracks[i].duration + '</a>';
$("<li/>").html(tmp).appendTo("#track-list");
}
});
您也可以在此处查看:http://jsfiddle.net/26pHX/96/
*这不是我的代码,但我试图使其更好
看起来您的代码中需要一个客户端id。您还需要一个重定向url。我不确定这必然会带来什么,但我现在会尝试给它提供一个随机页面,因为他们的示例页面似乎没有什么特别之处。
我发现这部分就是问题所在:
onclick="播放('+TrackId+')
相反,我使用document.createElement('a')制作标签,然后使用(element).setAttribute('se_attribute','se_value')设置其属性;一切都很顺利。