4

现在我有一个使用 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。有什么帮助吗?

4

2 回答 2

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 的播放器上的下一步,您可以在后台看到轨道加载。

在此处输入图像描述

于 2013-03-18T22:05:51.857 回答
3

实际上,克里克的回答只是故事的一半。

如果您想流式传输 soundcloud 歌曲,您首先需要在开发者页面developers.soundcloud.com上注册您的网站。

然后用你自己的密钥使用他们超酷API 您可以将 json 加载到 php 中并在那里生成链接,或者使用 jquery $.getJSON 加载信息。

当从 soundcloud 流式传输声音时,您还需要确保正确属性。soundcloud 的人非常慷慨地让我们这样使用他们的数据库。

//对不起坏链接(没有学分)

如何使用外部 JSON...?

http://api.jquery.com/jQuery.getJSON/

http://developers.soundcloud.com/docs/api/buttons-logos

于 2013-05-03T11:49:26.290 回答