데모 주소: http://bejson.com/demos/qqmusic/
코드 다운로드: http://www.jqdemo.com/932.html
오래전부터 QQ Music을 검색하면 인터페이스만 나옵니다.
QQ 공간 음악 쿼리를 구현하기 위해 여기에서는 jQuery와 jPlayer가 사용되었습니다.
우선 QQ 스페이스 뮤직 인터페이스는 물론 다양하고 유용한 인터페이스를 모아주신 bejson님께 감사드립니다.
URL은 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 매개변수를 얻는 방법
function getGTK() {
var str = "@HR3etVm80";
var hash = 5381;
for (var i = 0,
len = str.length ; i < len; i) {
hash = (hash var gtk = hash & 0x7ffffff; //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을 구문 분석합니다
코드 복사
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",
제공: "mp3",
wmode: "window"
})
}