`

百度音乐api接口及应用

 
阅读更多

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

百度提供了一个开放音乐搜索的api,在浏览器的地址栏输入:

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

 

其中歌名和歌手两个字段值需要经过utf-8编码

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>

 大多数标签式没用的,<encode><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歌词存放地址,256lrcid里的值除以100,后边的25635就是lrcid的值,这样就得到了歌曲的下载地址。如果lrcid的值为0,则表示没有对应的歌词。很简单吧,试试吧,嘿嘿.....

分享到:
评论

相关推荐

    Android项目源码基于百度音乐公开API的网络音乐播放器

    本项目是一个安卓的在线音乐项目源码,歌曲数据来源于百度音乐盒接口。可以实现歌曲的在线搜索和下载。本项目唯一的亮点仅限于此。javaapk之前也介绍过各种各样的安卓音乐播放应用项目源码。感兴趣的可以自己在java...

    JavaAPI1.6中文chm文档 part1

    javax.sound.midi 提供用于 MIDI(音乐乐器数字接口)数据的 I/O、序列化和合成的接口和类。 javax.sound.midi.spi 在提供新的 MIDI 设备、MIDI 文件 reader 和 writer、或音库 reader 时提供服务提供者要实现的...

    微信公众平台开发最佳实践 源码及书箱

    6.3.2 JS API支付接口 132 6.3.3 Native(原生)支付接口 137 6.3.4 通知接口 140 6.3.5 收货地址共享接口 147 6.3.6 用户维权系统接口 149 第7章 生活类应用开发 151 7.1 天气预报 151 7.1.1 SmartWeatherAPI...

    微信公众平台开发最佳实践 源代码

    6.3.2 JS API支付接口 132 6.3.3 Native(原生)支付接口 137 6.3.4 通知接口 140 6.3.5 收货地址共享接口 147 6.3.6 用户维权系统接口 149 第7章 生活类应用开发 151 7.1 天气预报 151 7.1.1 SmartWeatherAPI...

    百度编辑器UEditor PHP版

    其中,核心层为开发者提供了诸如range、selection、domUtils类的底层API接口,中间的命令插件层不仅提供了大量的基础command,还允许开发者基于核心层进行command命令的开发,而面向用户端的界面层则可以提供自由...

    从入门到精通HTML5——PDF——网盘链接

     2.3.6 设置网页文字及语言 22  2.3.7 设置网页的定时跳转 23  2.3.8 设定有效期限 24  2.3.9 禁止从缓存中调用 24  2.3.10 删除过期的cookie 25  2.3.11 强制打开新窗口 25  2.3.12 设置网页的过渡效果 26 ...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

    C#基类库大全下载--苏飞版

    RSACryption--RSA加密/RSA解密字符串 RSA加密应用最多是银行接口,这里的方法可以直接使用哦 5.FTP操作类 FTPClient  FTPClient--FTP操作帮助类,FTP上传,FTP下载,FTP文件操作,FTP目录操作 FTPHelper ...

    精易模块[源码] V5.15

    2、添加“文本_朗读”是否使用百度语音引擎参数,为空时默认使用微软语音引擎。 3、改善“文本_加密”与“文本_解密”去除原来算法,改用微软基础加解密API。 4、修复“网页_打印”,无效的BUG,感谢易友【@nameyypx...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    15、提供API整合接口,可整合主流论坛、博客等软件,轻松实现多个程序紧密结合。 可同时整合动网论坛、oblog等第三方软件,轻松实现会员一站通,帮助用户轻松实现“cms + 论坛 + 博客”的多功能门户方案。 16...

Global site tag (gtag.js) - Google Analytics