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

 更新时间:2013年06月17日 15:15:44   作者:  
本文为大家介绍下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接口
 
我们来解析音乐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"
});
}

相关文章

  • jQuery绑定自定义事件的魔法升级版

    jQuery绑定自定义事件的魔法升级版

    这篇文章主要介绍了jQuery绑定自定义事件使用技巧,通过循环绑定所有的自定义事件,在恰当的时机调用,需要的朋友可以参考下。
    2016-06-06
  • jQuery实现鼠标经过时出现隐藏层文字链接的方法

    jQuery实现鼠标经过时出现隐藏层文字链接的方法

    这篇文章主要介绍了jQuery实现鼠标经过时出现隐藏层文字链接的方法,涉及jQuery鼠标hover事件的响应及页面元素的动态处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • jquery怎样实现ajax联动框(一)

    jquery怎样实现ajax联动框(一)

    ajax联动框想必大家早有所耳闻,接下来本文详细介绍下使用jquery实现的原理及代码,感兴趣的你可以参考下,或许对你有所帮助
    2013-03-03
  • jQuery操作CheckBox的方法介绍(选中,取消,取值)

    jQuery操作CheckBox的方法介绍(选中,取消,取值)

    本篇文章主要是对jQuery操作CheckBox的方法(选中,取消,取值)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • jquery中$each()方法的使用指南

    jquery中$each()方法的使用指南

    jQuery 中的each函数 很方便,$.each ()函数封装了十分强大的遍历功能,它可以遍历一维数组、多维数组、DOM , JSON 等等,在javaScript 开发过程中使用$each可以大大的减轻我们的工作量,这里贴一个简单的模仿each的函数,只能处理数组类型的对象。
    2015-04-04
  • jQuery实现简易的天天爱消除小游戏

    jQuery实现简易的天天爱消除小游戏

    貌似最近腾讯手机游戏天天爱消除挺火的,我也是粉丝之一,最近对javascript一直比较感兴趣然后想用js仿造一个,应该不是太难,
    2015-10-10
  • jQuery实现在textarea指定位置插入字符或表情的方法

    jQuery实现在textarea指定位置插入字符或表情的方法

    这篇文章主要介绍了jQuery实现在textarea指定位置插入字符或表情的方法,实例分析了jQuery操作表单元素的技巧,非常实用,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 基于Jquery制作图片文字排版预览效果附源码下载

    基于Jquery制作图片文字排版预览效果附源码下载

    通过jquery和css相结合的方式实现鼠标点击图片弹出画廊切换特效,效果逼真,下面小编把源码分享给大家供大家参考
    2015-11-11
  • jQuery中:gt选择器用法实例

    jQuery中:gt选择器用法实例

    这篇文章主要介绍了jQuery中:gt选择器用法,实例分析了:gt选择器的功能、定义及匹配大于给定索引值元素的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • jQuery中实现prop()函数控制多选框(全选,反选)

    jQuery中实现prop()函数控制多选框(全选,反选)

    下面小编就为大家带来一篇jQuery中实现prop()函数控制多选框(全选,反选)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08

最新评论