现在我有一个网站使用jPlayer来播放mp3。我还希望能够直接在播放器上添加SoundCloud流的功能。
我知道这是可能的,因为我最喜欢的音乐博客之一hillydilly就是这样做的。通过查看他们的代码,我看到他们的jPlayer设置有一些额外的参数,即sc和sclink。
$(".play-music").each(function(){
myPlaylist.add({
title: $(this).attr('data-title'),
artist: $(this).attr('data-artist'),
mp3: $(this).attr('data-mp3'),
url: $(this).attr('data-url'),
sc: $(this).attr('data-sc'),
sclink: $(this).attr('data-sclink')
});
});
我尝试查看其余的代码,但无法弄清楚他们如何或在何处实现sc和sclink。有什么帮助吗?
答案 0 :(得分:8)
如果您查看他们的播放列表,他们会链接到Soundcloud以获取该曲目的mp3属性:
myPlaylist.setPlaylist([
{
title:"Close Enough ft. Noosa",
artist:"Ghost Beach",
mp3:"http://api.soundcloud.com/tracks/79031167/stream?client_id=db10c5086fe237d1718f7a5184f33b51",
url:"http://hillydilly.com/2012/12/top-20-songs/",
sc:"true"
},
{
title:"Always",
artist:"Jahan Lennon",
mp3:"http://api.soundcloud.com/tracks/80961874/stream?client_id=db10c5086fe237d1718f7a5184f33b51",
url:"http://hillydilly.com/2012/12/top-20-songs/",
sc:"true"
}
HTML5'流'实际上只是MP3,你目前无法像Flash,Silverlight,Quicktime等那样保护它们。如果你直接打开其中一个链接(如http://api.soundcloud.com/tracks/79031167/stream?client_id=db10c5086fe237d1718f7a5184f33b51),它将下载MP3。所以我猜你把它设置成应该工作的方式。
如果您打开Chrome及其网络检查器(在开发工具中:查看>开发人员>开发人员工具,然后点击网络),然后点击Hilly播放器上的下一个,您就可以在后台看到跟踪加载。
答案 1 :(得分:3)
实际上,克里克的回答只是故事的一半。
如果您想播放soundcloud歌曲,首先需要在开发者页面developers.soundcloud.com上注册您的网站。
然后将他们的super cool API与您自己的键一起使用。您可以将json加载到php中并在那里生成链接,或者使用jquery $ .getJSON加载信息。
当从soundcloud流式传输声音时,您还需要确保正确归属。来自soundcloud的人非常慷慨,让我们像这样使用他们的数据库。
//对不好的链接(没有信用)
How do I use external JSON...?