Redrain仿酷狗音乐播放器开发完毕,发布测试程序
转载请说明原出处,谢谢~~
从暑假到现在中秋刚过,我用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仿酷狗音乐播放器开发完毕,发布测试程序的更多相关文章
- 仿酷狗音乐播放器开发日志十九——CTreeNodeUI的bug修复二(附源码)
转载请说明原出处,谢谢 今天本来打算把仿酷狗播放列表的子控件拖动插入功能做一下,但是仔细使用播放列表控件时发现了几个逻辑错误,由于我的播放 列表控件是基于CTreeViewUI和CTreeNodeUI ...
- 仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)
转载请说明原出处,谢谢~~ 中秋到了,出去玩了几天.今天把仿酷狗程序做了收尾,已经开发完成了,下一篇博客把完结的情况说一下.在这篇博客里说一下使用OLE为窗体增加文件拖拽的功能.使用播放器,我更喜欢直 ...
- 仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)
转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出 ...
- 仿酷狗音乐播放器开发日志二十五 duilib右键事件的不足的bug修复
转载请说明原出处,谢谢~~ 虽然仿酷狗的各个菜单早就写好了,但是一直没有附加到程序里.今天把菜单和播放列表控件关联时发现了问题. 和播放列表相关的菜单有三个,分别是每个音乐项目控件相关的菜单.分组的菜 ...
- 仿酷狗音乐播放器开发日志二十三 修复Option控件显示状态不全的bug(附源码)
转载请说明原出处,谢谢~~ 整个仿酷狗工程的开发将近尾声,现在还差选项设置窗体的部分,显然在设置窗体里用的最多的就是OptionUI控件,我在写好大致的布局后去测试效果,发现Option控件的显示效果 ...
- 仿酷狗音乐播放器开发日志二十六 duilib在标题栏弹出菜单的方法
转载请说明原出处,谢谢~~ 上篇日志说明了怎么让自定义控件响应右键消息.之后我给主窗体的标题栏增加右键响应,观察原酷狗后可以发现,在整个标题栏都是可以响应右键并弹出菜单的.应该的效果如下: 本以为像上 ...
- 仿酷狗音乐播放器开发日志十一——CTreeNodeUI的bug修复
由于做播放列表控件,我的CMusicLength控件继承了CTreeVieWUI控件,在向分组控件中添加播放项目时,发现代码无法正常工作,调用CTreeNodeUI控件的Add方法后无反应,导致我的播 ...
- 仿酷狗音乐播放器开发日志三——修复CEditUI的bug2
无意中发现了CEditUI控件的另一个bug,当我给播放器的搜索栏获取焦点时,这时再改变窗体大小,原本搜索栏应该对应着也改变大小,却发现CEditUI内嵌的edit控件没有跟着改变(如下图),跟着调试 ...
- 项目源码--Android类似酷狗音乐播放器
下载源码 知识技能概要: 1.音乐文件的扫描与管理 2.音频流的解码 3. UI控件的综合使用 4.播放列表方式管理 5.随机播放方式 6.源码带详细的中文注释 ...... 详细介绍 1. 音乐文件 ...
随机推荐
- Matlab中编译C++文件
今天在跑<Robust Object Tracking via Sparsity-based Collaborative Model>这篇文章的代码时候,发现出现如下错误: 发现错误时由于 ...
- tomcat免重启随意更改java代码 提高开发效率
转载:http://developer.51cto.com/art/201012/241243.htm 做为了一个java开发人员,总是为因为要增加一个类,或是增加删除一个方法,甚至修改一个小处代码而 ...
- Android Handler传递参数动态更新UI界面demo
package com.example.demo_test; import android.app.Activity; import android.os.Bundle; import android ...
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一) SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭 ...
- mongodb 常见操作转
Ø Collection聚集集合 1.创建一个聚集集合(table) db.createCollection(“collName”, {size: 20, capped: 5, max: 100}); ...
- cas单点登出
由于项目需求要实现单点登出需要在网上找了N久终于实现单点登出. 使用cas-server-core-3.3.3.jar(CAS Server 3.3.3) 使用cas-client-core-3.1. ...
- Drawable(5)关于从资源文件构造的Drawable不显示
要给它设置个bounds才可以 TextView noticeHeaderView; TextView headerRefreshText; ProgressBar headerRefreshPgrs ...
- NDK(13)JNIEnv和JavaVM
转自: http://www.cnblogs.com/canphp/archive/2012/11/13/2768937.html JNIEnv是一个与线程相关的变量,不同线程的JNIEnv彼此独立 ...
- [HIHO1318]非法二进制(动态规划)
题目链接:http://hihocoder.com/problemset/problem/1318 题意:是个dp题.考虑二进制数为i位的时候,无非有两种情况:新添加的一位为0或者1. 为0的时候,那 ...
- Delphi使用JSON解析调用淘宝IP地址库REST API 示例
淘宝IP地址库:http://ip.taobao.com,里面有REST API 说明. Delphi XE 调试通过,关键代码如下: var IdHTTP: TIdHTTP; RequestURL: ...