转载请说明原出处,谢谢: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]