转载请说明原出处,谢谢~~

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

软件界面上绝大多数的控件的功能我都写出来了,几个不重要的控件功能我没有开发!

已有功能的介绍:

1、程序主界面

主界面的效果和原酷狗的是很相似的,右侧的乐库功能只是简单的连接到了网页,没有实际的功能!:

2、换肤功能:

点击标题栏上的换肤按钮可以打开换肤窗体,在这里可以修改窗体的背景图片。修改播放列表的透明度和整个窗体的透明度:

另外可以自己选择背景图片或者使用调色板改变窗体背景色:

3、添加音乐并播放

可以直接拖动音乐文件或者音乐文件夹到播放列表,这时程序会自动添加音乐进去;或者通过下方的音乐添加按钮来选择音乐:

之后可以直接双击音乐列表的项目来播放音乐了,音乐控制按钮和音量控制都是可以使用的。另外原本酷狗的刷新乐库和倒退的按钮,我用来动态增加音乐项目和电台项目:

     

4、Mini窗体

点击标题栏的缩小按钮,可以让窗体进入Mini模式,这样子乐库就被隐藏了:

5、各个菜单

我为仿酷狗做了6个菜单,分别为标题栏菜单,音乐分组菜单,音乐项目菜单,托盘菜单,循环模式选择菜单,音乐电台菜单。很多菜单的响应我并没有去实现,只是做了外观。其中循环模式选择菜单和标题栏菜单的一些选项是可用的:

 
    

 
         

这里的循环选择菜单的功能是有效的,音乐会根据循环模式的不同而有不同的播放模式!

6、设置窗体

打开标题栏菜单,选择“设置”选项,可以打开设置窗体,这个窗体只是样子,没有实际功能:

 
                                                    
           
          

7、左侧功能区

左侧功能区的选项都是可用的,加入了切换动画效果

通过点击刷新按钮可以动态增加音乐电台:

功过点击返回按钮可以动态增加下载列表的项目

8、开启窗体特效

我另外附带了一个音乐盒,增加了窗体开启特效,但是特效并不稳定,只是测试使用的。





未完成功能的介绍:

1、退出程序动画特效

        2、乐库载入动画效果

        3、各个菜单的响应

        4、歌词

        5、桌面歌词

未完成的功能我不打算再去编写了,因为还有很多其他的事情要做,代码开源的话大家可以自己去完成。

关于开源:



群里有很多朋友私密过我,询问关开这个界面是否开源的问题。我这里说明一下:实际上我自己是有开源意向的,这只是用来我练手的程序,开源后或许可以帮到其他刚入门duilib的朋友来学习这个库。但是问题在于我做仿酷狗使用的都是原酷狗的图片素材,而酷狗有声明不可以反向他的软件。所以不确定是否会给我带来麻烦前我不会开源。我在读书,不想惹麻烦~~如果确定开源后没问题的话,我会把源码上传到github.

总结:



写这个界面花了我不少时间,起初只是打算练练手,后来在编写的过程中也学到不少东西,对duilib也有了更好的了解。我个人很喜欢duilib,但是duilib现在出于无人维护的状态下,几乎每个人都有自己维护的一个duilib,我也一样。自己一直在修复这duilib的bug,并且我想在下一个阶段给duilib增加窗体动画特效的功能,另外完善一下uilib库原代的控件动画特效类。这些天看到了老外的juce库,感觉写的很不错,值得学习一下。我想好好研究一下juce库,并把学到的东西再应用到duilib库中将其扩展。就到这里吧!

测试程序下载地址:csdn:点击打开链接

百度云:点击打开链接

我的联系方式:

    Redrain  QQ:491646717

Redrain仿酷狗音乐播放器开发完毕,发布测试程序的更多相关文章

  1. 仿酷狗音乐播放器开发日志十九——CTreeNodeUI的bug修复二(附源码)

    转载请说明原出处,谢谢 今天本来打算把仿酷狗播放列表的子控件拖动插入功能做一下,但是仔细使用播放列表控件时发现了几个逻辑错误,由于我的播放 列表控件是基于CTreeViewUI和CTreeNodeUI ...

  2. 仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)

    转载请说明原出处,谢谢~~ 中秋到了,出去玩了几天.今天把仿酷狗程序做了收尾,已经开发完成了,下一篇博客把完结的情况说一下.在这篇博客里说一下使用OLE为窗体增加文件拖拽的功能.使用播放器,我更喜欢直 ...

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

    转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出 ...

  4. 仿酷狗音乐播放器开发日志二十五 duilib右键事件的不足的bug修复

    转载请说明原出处,谢谢~~ 虽然仿酷狗的各个菜单早就写好了,但是一直没有附加到程序里.今天把菜单和播放列表控件关联时发现了问题. 和播放列表相关的菜单有三个,分别是每个音乐项目控件相关的菜单.分组的菜 ...

  5. 仿酷狗音乐播放器开发日志二十三 修复Option控件显示状态不全的bug(附源码)

    转载请说明原出处,谢谢~~ 整个仿酷狗工程的开发将近尾声,现在还差选项设置窗体的部分,显然在设置窗体里用的最多的就是OptionUI控件,我在写好大致的布局后去测试效果,发现Option控件的显示效果 ...

  6. 仿酷狗音乐播放器开发日志二十六 duilib在标题栏弹出菜单的方法

    转载请说明原出处,谢谢~~ 上篇日志说明了怎么让自定义控件响应右键消息.之后我给主窗体的标题栏增加右键响应,观察原酷狗后可以发现,在整个标题栏都是可以响应右键并弹出菜单的.应该的效果如下: 本以为像上 ...

  7. 仿酷狗音乐播放器开发日志十一——CTreeNodeUI的bug修复

    由于做播放列表控件,我的CMusicLength控件继承了CTreeVieWUI控件,在向分组控件中添加播放项目时,发现代码无法正常工作,调用CTreeNodeUI控件的Add方法后无反应,导致我的播 ...

  8. 仿酷狗音乐播放器开发日志三——修复CEditUI的bug2

    无意中发现了CEditUI控件的另一个bug,当我给播放器的搜索栏获取焦点时,这时再改变窗体大小,原本搜索栏应该对应着也改变大小,却发现CEditUI内嵌的edit控件没有跟着改变(如下图),跟着调试 ...

  9. 项目源码--Android类似酷狗音乐播放器

    下载源码 知识技能概要: 1.音乐文件的扫描与管理 2.音频流的解码 3. UI控件的综合使用 4.播放列表方式管理 5.随机播放方式 6.源码带详细的中文注释 ...... 详细介绍 1. 音乐文件 ...

随机推荐

  1. [@Controller]3 详解@CookieValue,@PathVariable,@RequestBody,@RequestHeader,@RequestParam

    [@Controller]3 详解@CookieValue,@PathVariable,@RequestBody,@RequestHeader,@RequestParam 转载:http://blog ...

  2. JavaWeb项目开发案例精粹-第2章投票系统-004action层

    1. package com.sanqing.action; import java.util.UUID; import com.opensymphony.xwork2.ActionSupport; ...

  3. 枚举桌面应用程序lnk路径并得到对应程序的绝对路径(使用SHGetDesktopFolder函数枚举,然后使用COM查询IShellFolder,IShellLink和IPersistFile接口)

    // 枚举桌面上应用程序的lnk路径 void EnumDesktopLnkPath() { WCHAR szPath[MAX_PATH] = {0}; SHGetSpecialFolderPathW ...

  4. 54. Spiral Matrix

    题目: Given a matrix of m x n elements (m rows, ncolumns), return all elements of the matrix in spiral ...

  5. MyEclipse 2014 + JSP+ Servlet

    来自:http://blog.csdn.net/21aspnet/article/details/21867241 1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下 ...

  6. Struts2 Package

    package 元素的所有属性及对应功能: Attribute Required Description name yes key to for other packages to reference ...

  7. openfire开发

    openfire github地址:https://github.com/igniterealtime/Openfire 1.下载源代码:http://www.igniterealtime.org/d ...

  8. 【C#设计模式——创建型模式】简单工场模式

    进入码农行列也有一年半载了,仍然感觉自己混混沌沌,无所事事,无所作为,,,想想都下气,下气归下气,仍要奋起潜行,像愤怒的小鸟一边又一遍的冲向猪头也好,像蜗牛一样往前蹭也罢,总之要有蚂蚁啃骨头的精神!! ...

  9. NDK(21)JNI的5大正确性缺陷及优化技巧(注意是正确性缺陷)

    转自 : http://www.ibm.com/developerworks/cn/java/j-jni/index.html JNI 编程缺陷可以分为两类: 性能:代码能执行所设计的功能,但运行缓慢 ...

  10. $.toJSON的用法或把数组转换成json类型

    1. html页面全部代码 <html> <head>     <title></title> <script src="../../S ...