您好,欢迎来到铧拓汽车网。
搜索
您的当前位置:首页jQuery+JSON+jPlayer实现QQ空间音乐查询

jQuery+JSON+jPlayer实现QQ空间音乐查询

来源:铧拓汽车网
 查询QQ音乐是很早前就出来的一个接口。

这里使用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参数的获取方式

f

unction 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接口

我们来解析音乐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"
 });
}

Copyright © 2019- huatuoask.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务