当前位置:Gxlcms > JavaScript > jQuery+JSON+jPlayer实现QQ空间音乐查询

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

时间:2021-07-01 10:21:17 帮助过:4人阅读

查询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

  1. unction getGTK() {
  2. var str = "@HR3etVm80";
  3. var hash = 5381;
  4. for (var i = 0,
  5. len = str.length; i < len; ++i) {
  6. hash += (hash << 5) + str.charAt(i).charCodeAt();
  7. }
  8. var gtk = hash & 0x7fffffff;
  9. //document.getElementById("gtk").value = gtk;
  10. return gtk;
  11. }

2.请求QQ空间接口

  1. function getMusicId() {
  2. var qqNo = document.getElementById("qqNo").value;
  3. var url = 'http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=' + qqNo + '&json=1&g_tk=' + getGTK();
  4. $.getScript(url);
  5. }

3.回调拼装JSON

根据返回的JSON接口

2035.jpg

我们来解析音乐JSON

  1. function jsonCallback(data) {
  2. if(data.code==1){
  3. alert(data.msg);
  4. return;
  5. }
  6. var songs = data.qqmusic.playlist.song;
  7. var dataStr = "[";
  8. for (var i = 0; i < songs.length; i++) {
  9. dataStr += "{";
  10. dataStr += "title:'" + songs[i].xsong_name + "',";
  11. dataStr += "mp3:'" + songs[i].xsong_url + "'";
  12. dataStr += "}";
  13. if (i < songs.length) {
  14. dataStr += ',';
  15. }
  16. }
  17. dataStr += ']';
  18. eval("ds=" + dataStr);
  19. newPlayer(ds);
  20. }

最后我们调用jPlay播放器:

  1. var playList;
  2. function newPlayer(data) {
  3. playList = new jPlayerPlaylist({
  4. jPlayer: "#jquery_jplayer_1",
  5. cssSelectorAncestor: "#jp_container_1"
  6. },
  7. data, {
  8. swfPath: "js",
  9. supplied: "mp3",
  10. wmode: "window"
  11. });
  12. }

人气教程排行