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 typeof 用法
Dec 28 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
Mar 15 Javascript
深入理解JavaScript 闭包究竟是什么
Apr 12 Javascript
jquery移动listbox的值原理及代码
May 03 Javascript
js简单工厂模式用法实例
Jun 30 Javascript
JS实现日期时间动态显示的方法
Dec 07 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
JavaScript装饰者模式原理与用法实例详解
Mar 09 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
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
Python 专题三 字符串的基础知识
2017/03/19 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
详解python中@的用法
2019/03/27 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
python 读取修改pcap包的例子
2019/07/23 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
美国女孩服装购物网站:Justice
2017/03/04 全球购物
海外淘书首选:AbeBooks
2017/07/31 全球购物
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
总经理职责
2013/12/22 职场文书
协议书与合同的区别
2014/04/18 职场文书
环保倡议书范文
2014/05/12 职场文书
班级出游活动计划书
2014/08/15 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js