百度MP3音乐API接口及应用



百度 音乐 api encoding url 浏览器


最近在做一个播放器的项目,要实现从网络下载歌曲和歌词,看了很多别人的帖子和博客,今天上午终于搞定,也来总结一下,希望能帮助大家,好了,不说废话了,进入正题。

,在浏览器的地址栏输入:

http://box.zhangmen.baidu.com/x?op=12&count=1&title=歌名$$歌手


编码

URLEncoder.encode(song.trim(), “utf-8”);
这个是编码方法

然后访问回来的中歌曲下载的url还要处理一下,如:

http://box.zhangmen.baidu.com/x?op=12&count=1&title=怒放的生命$$汪峰

,返回xml

格式的流。

<?xml version="1.0" encoding="gb2312" ?> 
 -<result>
  <count>1</count>
 -<url>
 -<encode>
 - <![CDATA[http://zhangmenshiting.baidu.com/data2/music/4725615/ZWllaWtnbGaeomZzrZmmnJZvbGdrbG2aZWhsZmacmWqUlGZkl2ZscGKXlWtuapqZZmVZoZ6adGhfaWpsa25raWRramVtbmw4
  ]]>
  </encode>
 -<decode>
 - <![CDATA[4725615.mp3?xcode=93666b46921fb2cb30b0581eb794ca53&mid=0.77868413971885
  ]]>
  </decode>
  <type>8</type>
  <lrcid>25635</lrcid>
  <flag>1</flag>
  </url>
 -<durl>
 -<encode>
 - <![CDATA[http://zhangmenshiting2.baidu.com/data2/music/829260/aWRsZmtmZaWhZXKsmKWbnW5rZmprbJlsZ2tlZZuYaZuTZWOWZWtvaZaUam1pmZhtZFignZlzZ2ZoaWtqbWpoa2ppZGxtazc$
  ]]>
  </encode>
 -<decode>
 - <![CDATA[829260.mp3?xcode=93666b46921fb2cb30b0581eb794ca53&mid=0.77868413971885
  ]]>
  </decode>
  <type>8</type>
  <lrcid>25635</lrcid>
  <flag>1</flag>
  </durl>
 -<p2p>
  <hash>284df2cfe87b4fe1442f4469aa688abc067a6243</hash>
 -<url>
 - <![CDATA[http://zhangmenshiting.baidu.com/data2/music/2346073/2346073.mp3?xcode=93666b46921fb2cb30b0581eb794ca53
  ]]>
  </url>
  <type>mp3</type>
  <size>6795585</size>
  <bitrate>192</bitrate>
  </p2p>
  </result>

,<decode>和<lrcid>三个标签是我们需要的,以第一个<url>为例;只需要用4725615.mp3?xcode=93666b46921fb2cb30b0581eb794ca53&mid=0.77868413971885替换

http://zhangmenshiting.baidu.com/data2/music/4725615/ZWllaWtnbGaeomZzrZmmnJZvbGdrbG2aZWhsZmacmWqUlGZkl2ZscGKXlWtuapqZZmVZoZ6adGhfaWpsa25raWRramVtbmw4中的ZWllaWtnbGaeomZzrZmmnJZvbGdrbG2aZWhsZmacmWqUlGZkl2ZscGKXlWtuapqZZmVZoZ6adGhfaWpsa25raWRramVtbmw4 ,这样就得到了歌曲的下载地址。lrcid这个的值是百度服务器上这首歌的歌词文件的文件名,这个文件的路径是:http://box.zhangmen.baidu.com/bdlrc/256/25635.lrc 


这个地址解析下: 
http://box.zhangmen.baidu.com/bdlrc/ 这个是百度lrc歌词存放地址这个地址解析下: 
http://box.zhangmen.baidu.com/bdlrc/ 这个是百度lrc歌词存放地址这个地址解析下: 
http://box.zhangmen.baidu.com/bdlrc/ 这个是百度lrc歌词存放地址,256是lrcid里的值除以100,后边的25635就是lrcid的值,这样就得到了歌曲的下载地址。如果lrcid的值为0,则表示没有对应的歌词。很简单吧,试试吧,嘿嘿.....