示範網址: http://bejson.com/demos/qqmusic/
程式碼下載:http://www.jqdemo.com/932.html
查詢QQ音樂是很早前就出來的一個接口。
這裡使用jQuery和jPlayer來實作QQ空間音樂的查詢。
首先感謝bejson收集的各種有用的介面,當然也包含QQ空間音樂介面。
它的網址是:http://www.bejson.com/webInterface.php
我們要使用的介面位於bejson介面頁面中的音樂介面欄裡。
QQ音樂介面位址:
http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=0&dirid=1&uin=QQ號碼&p=0.519638272547262825472628g出核心代碼:
1.gtk參數的獲取方式
function getGTK() {
var str = "@HR3etVm80";
var hash = 5381;
for (var i = 0,
len = str.length; i hash = (hash }
var gtk = hash & 0x7fffffff;
//document.getElementById("gtk" ).value = gtk;
return gtk;
}
2.請QQ空間介面
function getMusicId() {
var qqNo = document.getElementById("qqNo").value;
var url = 'http:No").value; //qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=' qqNo '&json=1&g_tk=' getGTK();
$.getScript(url);
}
$.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 dataStr = "{";
dataStr = "title:'" songs[i].xsong_name "',";
dataStr = "mp3:'" songs[i].xsong_url "'" ;
dataStr = "}";
if (i dataStr = ',';
}
}
dataStr = ']';
eval("ds=" dataStr);
newPlayer(ds);
}
最後我們呼叫jPlay播放器:
var playList;
function newPlayer(data) {
playList = new jPlayerPlaylist({
playList = new jPlayerPlaylist({
playList = new jPlayerPlaylist({
playList = new jPlayerPlaylist({ cssSelectorAncestor: "#jp_container_1"
},
data, {
swfPath: "js",
supplied: "mp3", });
}