仿酷狗音乐播放器已开源!

转载请说明原出处,谢谢:http://blog.csdn.net/zhuhongshu/article/details/41037875

距离我发布测试版的Redrain音乐盒(仿酷狗播放器),现在正好刚2个月。博客留言和QQ群里也一直有网友关心这个小项目开源的问题。先感谢网友对这个小项目的支持。之前我一直担心版权问题而没有开源这个项目,因为我只是个在校大学生,不想惹麻烦,希望大家体谅!

关于这个Redrain音乐盒的发布程序的说明和使用方法,见《Redrain仿酷狗音乐播放器开发完毕,发布测试程序》

今天,我把这个项目的源代码上传。包括了可以编译工程所需的所有代码文件,已经软件的布局文件,但是没有包括软件需要的素材,这也是为了避免引起与酷狗播放器的版权问题。

如果有哪位朋友有完整的音乐库素材,并且愿意免费提供给我把这个项目换一套素材,我将感激不尽!详细的说明请看《关于仿酷狗音乐播放器开源:寻求一套音乐播放器素材,让仿酷狗开源》

开源这个小项目的目的,是为了帮助更多使用DuiLib或者UiLib库的朋友们,去学习和熟悉这个库。我个人非常喜欢DuiLib库,同时也是国内最早的开源DirectUI界面库。并且DuiLib并不是没人管的孩子了,DuiLib2.0和DuiLib3.0版本也在开发中,据说DuiLib3.0将是一个跨平台的界面库。在此希望DuiLib能发展的更好!

我在这个项目中使用的是UiLib库而不是DuiLib库,UiLib库是DuiLib库的扩展版本,增加了一些动画控件的支持,扩展了部分控件,但是核心代码并没有改变,与DuiLib使用方法完全一样,也可以用UiLib库直接编译使用DuiLib库编写的代码。项目中的UiLib是我为了适应仿酷狗而专门修改过的,也修复过必要的bug,所以如果你使用原版的DuiLib或者UiLib库去编译这个功能,最终的程序效果和我发布的不一样。关于bug的修复请看博客中更早期的文章。我自己使用并且维护的DuiLib库和UiLib库的下载地址见博客:《Redrain个人维护并使用的DuiLib和UiLib库源码下载地址》

看这个程序代码的时候建议结合我之前发布的《仿酷狗音乐播放器开发日志》系列的文章,我在文章里说明了开发步骤和思路,再结合这份源码便可以完全理解这个项目。

由于上传的代码中不包括素材,所以直接编译出来的程序运行后是非常难看的。所以我同时提供了已经内部集成了素材的程序,大家可以通过它看到程序运行的完整真实效果。项目是用vs2012开发的。

在这个项目源码中,同时包含了webkit内核浏览器控件、音乐播放类、换肤功能、拖拽功能、菜单等等。关于菜单的说明见:《为duilib的MenuDemo增加消息响应,优化代码和显示效果》,这个菜单的功能如下:

1、可以展现多级菜单

2、可内嵌自定义控件,并且控件可以向主窗体发送消息,如图的红色叹号就是个按钮控件,可以制作酷狗音乐的托盘菜单的播放暂停按钮和进度控制进度条。

3、菜单拥有阴影效果

4、菜单可以自定义前方显示小图标,并且可以控制图标的大小和是否显示

5、菜单可以根据是否拥有子菜单决定是否显示小箭头

6、菜单可以添加分割线

7、每个菜单项都可以单选和复选的功能

8、优化菜单的xml描述文件,编写方便容易,如果要写一个二级菜单,比如编写图片中的菜单测试4以及他的子菜单,只需如下代码就可以了

9、可以通过键盘的按钮控制菜单的选项

10、每个菜单项的高度宽度是任意调整的

在这个项目中,还有一些未实现的功能,但是我并不打算继续完成这些功能了:

1、退出程序时逐渐缩小的动画特效

2、各个菜单的响应

3、歌词功能(已经有网友做出来了,我就不另外做了)

4、嵌入桌面的桌面歌词

结束语:

如果程序代码中有任何bug,或者对代码有疑问,可以在QQ群里找到我,或者加我QQ。同时开源代码只是为了学习交流,不可用于商业程序,源码对使用者造成的损失,概不负责!

源码下载地址:点击打开链接

Redrain  2014.11.12

QQ:491646717

E-mail:[email protected]

时间: 2024-10-03 22:54:24

仿酷狗音乐播放器已开源!的相关文章

关于仿酷狗音乐播放器开源:寻求一套音乐播放器素材,让仿酷狗开源

转载请说明原出处,谢谢~~ 距离公布測试版的仿酷狗音乐播放器.已经几个月过去了.期间非常多网友加我QQ来问我开源的问题,我也早有开源意向. 但我也一直没有得到可靠的信息,保证开源后没有不论什么问题. 所以我打算给这个软件全然换一套界面素材.放弃原来的酷狗素材. 这样开源也就没有不论什么问题了,问题是我个人PS水平太烂.仅仅会切切图.如今寻求一套完整的音乐播放器的素材,素材内容要全面,能够用来替代酷狗的素材. 假设有哪位朋友有这种素材,或者有时间能够做出一套素材让我使用,我将感激不尽.素材替换完成

仿酷狗音乐播放器开发日志二十一 开发动态调色板控件(附源代码)

转载请说明原出处,谢谢~~ 上一篇仿酷狗日志结束后,整个换肤功能就仅仅剩下调色板功能没有做了.我本以为会非常easy.可是研究了酷狗的调色板功能后发现不是那么简单的事情.首先看一下酷狗的调色板的样子: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1aG9uZ3NodQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > waterm

Redrain仿酷狗音乐播放器开发完毕,发布测试程序

转载请说明原出处,谢谢~~ 从暑假到现在中秋刚过,我用duilib开发仿酷狗播放器大概经历了50天.做仿酷狗的意图只是看原酷狗的界面比较漂亮,想做个完整一些的工程来练习一下duilib.今天把写好的程序代码综合一下,发布测试版,现在一共写了10355行c++代码和大约2000行xml代码.测试版的程序肯定会有不少bug,而我自己也没有精心去测试程序,希望发现问题的朋友联系我一下,我去修正.程序在win8下运行会有问题,请在兼容性里调整一下!整个软件的开发过程可以看前面发布的博客! 软件界面上绝大

仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)

转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出来,给学习duilib布局的朋友做个demo.现在编写的仿酷狗选项设置窗体和原酷狗的窗体不细看几乎看不出差别,控件的布局位置和原酷狗最多只有几个像素的位置差别. 先来看一下原酷狗的选项设置窗体的其中一个页面: 如果还不太会布局的朋友可以先看我前些日子写的关于duilib布局的博客<duilib各种布

高仿天天动听音乐播放器,可联网下载歌词_Android源码

Android源码仿天天动听音乐播放器,可联网下载歌词 功能分类:影音 支持平台:Android 运行环境:Eclipse 开发语言:Java 开发工具:Eclipse 源码大小:1.94MB 下载地址:http://www.dwz.cn/wGVt2 源码简介 Android源码仿天天动听音乐播放器,可联网下载歌词. 源码运行截图

Android源码仿天天动听音乐播放器,可联网下载歌词

支持平台:Android      运行环境:Eclipse        开发语言:Java 下载地址:http://www.devstore.cn/code/info/203.html 源码简介 Android源码仿天天动听音乐播放器,可联网下载歌词. 源码运行截图

仿网易云音乐播放器(磁盘转圈、背景虚化等等)

先看效果,CSDN的git传上去总是不动.不知道为什么. 主要思路: 1 . 除了 開始/暂停 .上一首.下一首 这三个icon.你看到的是一个ViewGroup ,这个ViewGroup里面有圆形封面.黑色圈圈磁盘.唱针,高斯模糊背景图 2. 凝视掉了磁盘一起转动的效果,如今的方案不是最好的,建议若是想实现,能够把圆形封面和磁盘合并成一张图(最好在CicicleImageView这里面做).给一个旋转动画.两个动画.两个View,帧的频率不会那么高 3.凝视掉了上一首.下一首切换的时候渐变的动

自己写的音乐播放器Demo开源给需要学习的人,大家编程路上一直进步,

本项目使用到的技术 1:网络请求以及图片加载用的是volley框架 2:播放音乐使用MediaPlayer类 3:数据来源使用JSON解析 4:登录收藏功能使用的SQLite实现 5:Android 6.0动态权限申请 下面是运行时图片 图就这么多,音乐的api接口调用的是易源数据的QQ音乐接口, 关于播放进度时间的,我记得我写了,但是没找到,这里把思路说一下,具体思路是MediaPlayer播放音乐可以得到播放音乐的总大小,已经播放的位置,使用一个定时器,实时获取MediaPlayer的播放位

仿酷狗音乐列表点击item子控件展开功能

也是项目需要大家先来看看效果图 就是这样不过我的项目可能下面没有这么多项而已,说一下思路: 实际上下面展开的哪一块是被隐藏起来了的,可以获取itme的事件点击,接收点击事件展开(显示出来),点击另外的隐藏起来 下面是我的效果图(大家可以自己设置样式,我的比较丑) 好图片有点大,但是看的爽对不!下面贴代码 public class MainActivity extends Activity { private ListView mListView; private ListAdapter mAda