zoukankan      html  css  js  c++  java
  • jQuery+JSON+jPlayer实现QQ空间音乐查询

    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+JSON+jPlayer实现QQ空间音乐查询

  • 相关阅读:
    BZOJ 1630/2023 Ant Counting 数蚂蚁
    BZOJ 3997 组合数学
    BZOJ 2200 道路与航线
    BZOJ 3181 BROJ
    BZOJ 4011 落忆枫音
    BZOJ 4027 兔子与樱花
    vijos 1741 观光公交
    vijos 1776 关押罪犯
    vijos 1780 开车旅行
    5、异步通知机制
  • 原文地址:https://www.cnblogs.com/jqdemo/p/3139794.html
Copyright © 2011-2022 走看看