jQuery+JSON+jPlayer實現(xiàn)QQ空間音樂查詢功能示例
更新時間:2013年06月17日 15:15:44 作者:
本文為大家介紹下jQuery+JSON+jPlayer實現(xiàn)QQ空間音樂查詢,具體的實現(xiàn)過程感興趣的朋友可以了解下哈,希望對大家有所幫助

演示地址: http://bejson.com/demos/qqmusic/
代碼下載:http://www.jqdemo.com/932.html
查詢QQ音樂是很早前就出來的一個接口。
這里使用jQuery和jPlayer來實現(xiàn)QQ空間音樂的查詢。
首先感謝bejson收集的各種有用的接口,當(dāng)然也包含QQ空間音樂接口。
它的網(wǎng)址是: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.519638272547262&g_tk=1284234856
這里給出核心代碼:
1.gtk參數(shù)的獲取方式
復(fù)制代碼 代碼如下:
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空間接口
復(fù)制代碼 代碼如下:
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.回調(diào)拼裝JSON
根據(jù)返回的JSON接口

我們來解析音樂JSON
復(fù)制代碼 代碼如下:
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);
}
最后我們調(diào)用jPlay播放器:
復(fù)制代碼 代碼如下:
var playList;
function newPlayer(data) {
playList = new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
},
data, {
swfPath: "js",
supplied: "mp3",
wmode: "window"
});
}
相關(guān)文章
jQuery實現(xiàn)鼠標(biāo)經(jīng)過提示信息的地圖熱點效果
這是一個升級版本,更新了一個在IE8里的小問題,加入了提示框的內(nèi)容自動換行處理(北京點上有演示)!估計差不多該是最后樣式了。IE6、IE8、谷歌、火狐、測試正常。2015-04-04jq實現(xiàn)酷炫的鼠標(biāo)經(jīng)過圖片翻滾效果
一個酷炫的圖片翻滾效果要實現(xiàn)這個效果并不難,只要思路對了,一切都好辦,下面有個不錯的示例,大家可以參考下2014-03-03jQuery幫助之篩選查找 children([expr])
取得一個包含匹配的元素集合中每一個元素的所有子元素的元素集合。2011-01-01使用jQuery調(diào)用XML實現(xiàn)無刷新即時聊天
這篇文章主要介紹了使用jQuery調(diào)用XML實現(xiàn)無刷新即時聊天的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08