成都web前端培训
成都达内金融街中心

18628200088

热门课程

QQ空间音乐的查询

  • 时间:2016-06-14 10:46
  • 发布:达内杨老师
  • 来源:达内

成都达内分享——如何使用jQuery和jPlayer来实现QQ空间音乐的查询。

我们要使用的接口位于bejson接口页面中的音乐接口栏里。

QQ音乐接口地址:

http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=0&dirid=1&uin=QQ号&p=0.519638272547262&g_tk=1284234856

这里给出核心代码:

1.gtk参数的获取方式

function getGTK() {

var str = "@HR3etVm80";

var hash = 5381;

for (var i = 0,

len = str.length; i < len; ++i) {

hash += (hash << 5) + str.charAt(i).charCodeAt();

}

var gtk = hash & 0x7fffffff;

//document.getElementById("gtk").value = gtk;

return gtk;

}

2.请求QQ空间接口

function getMusicId() {

var qqNo = document.getElementById("qqNo").value;

var url = 'http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=' + qqNo + '&json=1&g_tk=' + getGTK();

$.getScript(url);

}

3.回调拼装JSON

根据返回的JSON接口

qqmusic

我们来解析音乐JSON

function jsonCallback(data) {

if(data.code==1){

alert(data.msg);

return;

}

var songs = data.qqmusic.playlist.song;

var dataStr = "[";

for (var i = 0; i < songs.length; i++) {

dataStr += "{";

dataStr += "title:'" + songs[i].xsong_name + "',";

dataStr += "mp3:'" + songs[i].xsong_url + "'";

dataStr += "}";

if (i < songs.length) {

dataStr += ',';

}

}

dataStr += ']';

eval("ds=" + dataStr);

newPlayer(ds);

}

最后我们调用jPlay播放器:

var playList;

function newPlayer(data) {

playList = new jPlayerPlaylist({

jPlayer: "#jquery_jplayer_1",

cssSelectorAncestor: "#jp_container_1"

},

data, {

swfPath: "js",

supplied: "mp3",

wmode: "window"

});

}

上一篇:JS函数split-字符分割
下一篇:div如何随页面滚动
选择城市和中心
贵州省

广西省

海南省