源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例

  • 时间:2021-07-21 16:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
[img]http://files.jb51.net/file_images/article/201306/201306171511141.gif?2013517151145[/img] 演示地址: 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.519638272547262&g_tk=1284234856 这里给出核心代码: 1.gtk参数的获取方式
[u]复制代码[/u] 代码如下:
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空间接口
[u]复制代码[/u] 代码如下:
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接口 [img]http://files.jb51.net/file_images/article/201306/201306171512312.gif?2013517151243[/img]   我们来解析音乐JSON
[u]复制代码[/u] 代码如下:
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播放器:
[u]复制代码[/u] 代码如下:
var playList; function newPlayer(data) { playList = new jPlayerPlaylist({ jPlayer: "#jquery_jplayer_1", cssSelectorAncestor: "#jp_container_1" }, data, { swfPath: "js", supplied: "mp3", wmode: "window" }); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部