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


Posted in Javascript onJune 17, 2013

jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
演示地址: 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参数的获取方式

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空间接口
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接口
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例 
我们来解析音乐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 < 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", 
supplied: "mp3", 
wmode: "window" 
}); 
}
Javascript 相关文章推荐
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
深入剖析javascript中的exec与match方法
May 18 Javascript
javascript实现简易计算器的代码
May 31 Javascript
jQuery和JavaScript节点插入元素的方法对比
Nov 18 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
Move.js入门
Feb 08 Javascript
浅谈Node Inspector 代理实现
Oct 19 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
Oct 23 Javascript
JS图片无缝滚动(简单利于使用)
Jun 17 #Javascript
js二级地域选择的实现方法
Jun 17 #Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
Jun 17 #Javascript
JS控制文本框textarea输入字数限制的方法
Jun 17 #Javascript
一个简单的JS鼠标悬停特效具体方法
Jun 17 #Javascript
js特效,页面下雪的小例子
Jun 17 #Javascript
js弹出窗口之弹出层的小例子
Jun 17 #Javascript
You might like
单点登录 Ucenter示例分析
2013/10/29 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
JointJS流程图的绘制方法
2018/12/03 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
python通过索引遍历列表的方法
2015/05/04 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
学习考察心得体会
2014/09/04 职场文书
违纪学生保证书
2015/02/27 职场文书
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS