在线音乐播放器的重点是找到一个好的音乐搜索接口,下面是采用百度音乐搜索的接口,不过是非官方的,百度好像没有提供专门的音乐搜索API。

音乐搜索的两种方式

通过歌曲名和歌手精确搜索

访问:http://box.zhangmen.baidu.com/x?op=12&count=1&title=歌曲名\$$歌手\$$\$$(要去掉中间的3个\)
例如:http://box.zhangmen.baidu.com/x?op=12&count=1&title=东风破\$$周杰伦\$$\$$(要去掉中间的3个\)
返回如下xml格式的结果,<url>标签中的是普通音质,<durl>是高清音质,音乐的地址是<encode>去掉尾巴后加上<decode>组成
如下面普通音质的地址是:http://zhangmenshiting.baidu.com/data2/music/120892918/120892918.mp3?xcode=d857cadf6a270003aeb88cfbc562a9813837498b78c992ab&mid=0.95773781441071
<result>
<count>1</count>
<url>
<encode>
<![CDATA[
http://zhangmenshiting.baidu.com/data2/music/120892918/YmRjbG5ocGlpYKCkaHWvm6CWmHGZbmxvlJOXmmuXaW9hYmNnlpuZcGmVmZaYa21qkmtrZWhuam9la2uWbG6acWpklJZbo6CcbmJhbWptbmtoamRoaWdnb2Iy
]]>

</encode>

<decode>
<![CDATA[
120892918.mp3?xcode=d857cadf6a270003aeb88cfbc562a9813837498b78c992ab&mid=0.95773781441071
]]>

</decode>

<type>8</type>
<lrcid>29026</lrcid>
<flag>1</flag>

</url>

<durl>
<encode>
<![CDATA[
http://zhangmenshiting2.baidu.com/data2/music/120892919/YmRjbG5ocGlqYKCkaHWvm6CWmHGZbmxvlJOXmmuXaW9hYmNnlpuZcGmVmZaYa21qkmtrZW6bb5xhlWiXZ2ybbJJkY5Zbo6CcbmJhbWptbmtoamRoaWdnb2Iy
]]>

</encode>

<decode>
<![CDATA[
120892919.mp3?xcode=d857cadf6a270003aeb88cfbc562a9819e8d0c5c26d4a20b&mid=0.95773781441071
]]>

</decode>

<type>8</type>
<lrcid>29026</lrcid>
<flag>1</flag>

</durl>

<p2p>
<hash>acf1ed82375d608f50d630248cf3d04a72ec6699</hash>
<url>
<![CDATA[ ]]>
</url>

<type>mp3</type>
<size>7674555</size>
<bitrate>192</bitrate>

</p2p>

</result>

通过歌曲名或者歌手搜索

访问:http://tingapi.ting.baidu.com/v1/restserver/ting?from=webapp_music&method=baidu.ting.search.catalogSug&format=json&callback=&query=关键字&_=时间戳

例如:http://tingapi.ting.baidu.com/v1/restserver/ting?from=webapp_music&method=baidu.ting.search.catalogSug&format=json&callback=&query=周杰伦&_=1424071936684

返回如下json格式的结果(这儿只显示了部分结果),每一首歌都对应一个songid,比如我想听安静,songid是10525914,然后通过songid进行第二步解析

{
    "song": [
        {
            "songid": "10525914",
            "songname": "安静",
            "encrypted_songid": "",
            "has_mv": "1",
            "yyr_artist": "0",
            "artistname": "周杰伦"
        },
        {
            "songid": "10736444",
            "songname": "简单爱",
            "encrypted_songid": "",
            "has_mv": "1",
            "yyr_artist": "0",
            "artistname": "周杰伦"
        },
        {
            "songid": "580240",
            "songname": "夜曲",
            "encrypted_songid": "01058da900854dca927",
            "has_mv": "0",
            "yyr_artist": "0",
            "artistname": "周杰伦"
        },
        {
            "songid": "7316935",
            "songname": "龙卷风",
            "encrypted_songid": "",
            "has_mv": "1",
            "yyr_artist": "0",
            "artistname": "周杰伦"
        },
        {
            "songid": "15779016",
            "songname": "稻香",
            "encrypted_songid": "0006f0c4c80854d5283d",
            "has_mv": "1",
            "yyr_artist": "0",
            "artistname": "周杰伦"
        },
        {
            "artistid": "109381095",
            "artistname": "周杰伦&群星",
            "artistpic": "http://b.hiphotos.baidu.com/ting/pic/item/dcc451da81cb39db4b8289e1d2160924aa1830c3.jpg",
            "yyr_artist": "0"
        }
    ],
    "album": [
        {
            "albumid": "68674",
            "albumname": "我很忙",
            "artistname": "周杰伦",
            "artistpic": "http://b.hiphotos.baidu.com/ting/pic/item/7af40ad162d9f2d3ff4f6df8abec8a136327cc4f.jpg"
        },
        {
            "albumid": "183906",
            "albumname": "七里香(台湾正式版)",
            "artistname": "周杰伦",
            "artistpic": "http://a.hiphotos.baidu.com/ting/pic/item/3b292df5e0fe9925ff46084536a85edf8db17158.jpg"
        }
    ],
    "order": "artist,song,album",
    "error_code": 22000
}

访问:http://ting.baidu.com/data/music/links?songIds=songid

比如刚刚搜索到的安静对应的songid是10525914:http://ting.baidu.com/data/music/links?songIds=10525914

返回如下json格式的结果,其中songLink就是歌曲的链接

{
    "errorCode": 22000,
    "data": {
        "xcode": "318c78f3466409467637fd9107335d5f",
        "songList": [
            {
                "queryId": "10525914",
                "songId": 10525914,
                "songName": "安静",
                "artistId": "7994",
                "artistName": "周杰伦",
                "albumId": 10525799,
                "albumName": "他&他 [好男真情歌]",
                "songPicSmall": "http://c.hiphotos.baidu.com/ting/pic/item/http://qukufile2.qianqian.com/data2/pic/115534180/115534180.jpg.jpg",
                "songPicBig": "http://c.hiphotos.baidu.com/ting/pic/item/http://qukufile2.qianqian.com/data2/pic/115534160/115534160.jpg.jpg",
                "songPicRadio": "http://c.hiphotos.baidu.com/ting/pic/item/http://qukufile2.qianqian.com/data2/pic/115534145/115534145.jpg.jpg",
                "lrcLink": "/data2/lrc/10546461/10546461.lrc",
                "version": "",
                "copyType": 1,
                "time": 334,
                "linkCode": 22000,
                "songLink": "http://zhangmenshiting.baidu.com/data2/music/127474116/1052591464800.mp3?xcode=318c78f3466409467519e66d087d4d4c794c02384b2198e1",
                "showLink": "http://zhangmenshiting.baidu.com/data2/music/127474116/1052591464800.mp3?xcode=318c78f3466409467519e66d087d4d4c794c02384b2198e1",
                "format": "mp3",
                "rate": 128,
                "size": 5349499,
                "relateStatus": "0",
                "resourceType": "0"
            }
        ]
    }
}

代码实现

简单的在线音乐播放器的demo,下载地址:http://download.csdn.net/detail/u012910985/8449441 

Android 在线音乐播放器相关推荐

  1. Android在线音乐播放器

    波尼音乐 系列文章 Android开源在线音乐播放器--波尼音乐 Android开源音乐播放器之播放器基本功能 Android开源音乐播放器之高仿云音乐黑胶唱片 Android开源音乐播放器之自动滚动 ...

  2. android在线音乐播放器教程,android实现简单音乐播放器

    本文实例为大家分享了android音乐播放器的具体代码,供大家参考,具体内容如下 话不多说先上效果 前言 写这个音乐播放器实在是迫不得已.因为我们Andoird课程要求写一个音乐播放器.所以就有了此项 ...

  3. Andriod小项目——在线音乐播放器

    Andriod小项目--在线音乐播放器 转载请注明:http://blog.csdn.net/sunkes/article/details/51189189 Android在线音乐播放器 从大一开始就 ...

  4. 最全的Android开源音乐播放器源码汇总

    收集了很多音乐播放器类的Android项目源码,非常不错的开源项目,会让你事半功倍,希望大家补充...谢谢! Android基于经纬度切歌的冲绳音乐播放器源码 http://neast.cn/foru ...

  5. android 带记忆功能的播放器源码,【全开源可二开】带后台管理面板的在线音乐播放器Android应用APP源码...

    这是一款带后台管理面板的在线音乐播放器Android应用APP源码,可让您更快地构建在线和离线android音频播放器,代码全开源适合二次开发.该源码自带2个紫色和橙色主题(允许您添加更多主题),多语 ...

  6. 三款Android平台音乐播放器多方位对比

    音乐播放器作为重要的娱乐工具,在PC端异常重要,在移动端同样如此.移动端的音乐播放器很多,巨头们纷纷在这个领域布局,腾讯百度等均拥有各自的移动端音乐播放器.爱好音乐的机友们也面临较多的选择. 小编在这 ...

  7. android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...

    我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚.我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内 ...

  8. python播放在线音乐_Python实现在线音乐播放器

    最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,使用Python的库Tkinsert做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口, ...

  9. python播放网络音乐_python使用Tkinter实现在线音乐播放器

    本文实例使用Tkinter实现在线音乐播放器的具体代码,供大家参考,具体内容如下 1.先使用Tkinter库写界面 2.写点击按钮触发的事件 (1).使用网易音乐的api,返回数据包装成json格式数 ...

最新文章

  1. 设计模式之观察者模式(Observer)摘录
  2. 北大数学天才许晨阳,回国效力6年后,为什么又去了美国任教?
  3. python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...
  4. Hadoop报错信息:Job not successful. Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 4.
  5. 彻底吃透Web服务器、容器、应用程序服务器与反向代理
  6. 今年美国数据中心投资规模超182亿美元 超前三年总和
  7. django-演练-英雄表的添加操作
  8. 345. Reverse Vowels of a String【easy】
  9. JS读取excel内容
  10. 【Proteus仿真】 51单片机利用定时器制作简易SPWM波形输出
  11. matlab的colorbar取对数
  12. windows保护无法启动修复服务器,Win10系统提示Windows资源保护无法启动修复服务怎么办...
  13. 过采样算法之SMOTE
  14. 使用opencv截取旋转框目标
  15. 如何编制项目蓝图汇报材料
  16. Linux安装conda未找到命令
  17. Vue style里面使用scoped属性并@import引入外部css, 作用域是全局的解决方案
  18. 黑底白字html代码,如何用chrome扩展将网页变成黑底白字,用以保护视力
  19. 02 【基础篇-vim编辑器 网络配置 远程登录】
  20. C语言练习二 :找出一个二维数组的鞍点

热门文章

  1. 115个Java面试题和答案——终极(下)
  2. ccc 2.2.0 jsb绑定
  3. mysql修改uuid
  4. 互联网晚报 |12.5号起,北京公交地铁不得拒绝无48小时核酸阴性乘客;知情人士否认恒大汽车总部解散传闻;92号汽油或将重回7元...
  5. 关系模式分解为3nf 和bcnf详解
  6. win7系统要停止服务器,win7系统中可关闭的服务选项,可关闭服务选项大全
  7. 期权实战交易最重要的经验
  8. excel的SUMIF和SUMIFS函数的区别和联系
  9. 一种求角平分线方法—VisionPro脚本实现
  10. 解决.NET Core 2.0+ 使用SQLite出现异常unable to open database file