这是一个致力于用C++和win32api打造的开源第三方网易云音乐。就目前而言,与普通的项目相比,这个项目更像一个“玩具”项目。由于作者是编程新手,水平有限,项目中可能有相当多的问题代码。因此我不建议你从它当中学习我们的编程习惯。
此项目以BSD 3-Clause “New” or “Revised” License协议开源。我希望有更多人参与到这个项目的贡献中,促进交流,共同学习与进步。与普通的项目不同的是,这个项目更像一个“玩具”项目,实际上可能并不能产生多大的价值。所以无论你的技术、你的年龄段、你的想法、你的性别如何,只要你对C++、win32api或者此项目感兴趣,任何人都可以参与这个项目的开发。对于新手来说,和我一样,你只管放心大胆的去完成你的想法。而对于老手来说,你可以很容易的发现我们的代码中存在的问题,如果你能从中指出我们的问题,这对我们的帮助会非常大。我希望新手和老手能够友好交流,互相理解互相包容。同时,如果你有任何的想法都可以提出来。
- 基本播放器类
- 页面导航
- 音乐搜索
- 窗口大小的基本操作
- tooltip提示框
- 解决GDI资源泄露问题
- 解决窗口闪烁的问题
- 登录等用户相关类
- 音乐播放列表
- 支持显示图片
- 各导航相关页面
- 动画引擎
- 切换主题
- 页面滚动功能
- 优化项目结构,力争组件化
- 系统托盘图标
- 接入网易云官方api
- 桌面歌词
- 歌词预览界面
- 接入系统Thumbnail Toolbar
目前换上了xmake构建工具,非常方便。
点击这里查看具体用法。目前只需要你的电脑正确安装了 VS 2022后在./执行xmake -y
即可编译。
但是有一个问题,当前程序读取的资源文件是外置的相对路径。后面研究之后把资源转换成打包进程序的形式。目前编译好了之后,还要把./res文件夹复制到和程序一样的目录,程序才能正常运行。目前还不知道如何设置编译之后的程序图标。
DEV-C++ 6.7.5
目前换上了vscode + xmake + C/C++扩展的形式。体验还不错。比较坑的是得在开始菜单中找到Developer PowerShell for VS 2022,打开之后输入code启动的vscode才能正常运行。
-
文件名应该全部小写,可以包含下划线,例如
my_class.h
-
类型名应该使用大写字母开头,每个单词首字母大写,不包含下划线,例如
MyClass
或MyEnum
-
变量名应该全部小写,单词之间用下划线连接,例如
my_variable
或my_local_variable
类的成员变量以下划线结尾,例如my_member_variable_
-
常量名应该以
k
开头,后面跟一个大写字母,然后是小写字母和下划线,例如kDaysInAWeek
或kMaxBufferSize
-
函数名应该使用大写字母开头,每个单词首字母大写,不包含下划线,例如
MyFunction
或MyMethod
-
枚举、联合、宏和枚举值应该全部大写,单词之间用下划线连接,例如
MY_ENUM
或MY_MACRO
音乐播放:WinMM.Lib
网络请求:wininet.Lib
窗口效果:dwmapi.lib
解析jpeg文件:FreeImage.lib(还未开始使用)
绘图设备:gdiplus.lib(目前使用gdi)
lib:静态链接库
res:资源文件
yyjson:yyjson解析库相关文件
SampleImage:readme.md的图片文件
tooltip:tooltip相关文件
myhead.h:项目万用头(各种定义都放里面,后面逐步拆散)
all_class.cpp:窗口类注册
all_proc.cpp:窗口事件循环过程
foot_tool.cpp:底部栏
gdi_device.cpp:gdi绘图设备复用和安全切换
head_tool.cpp:顶部栏
navigation_bar.cpp:左侧边导航栏
main.cpp:主程序入口
mytools.cpp:各种小工具
network.cpp:网络请求相关
player.cpp:音乐播放器抽象类
xmake.lua:xmake的工程文件
EasyMusic.ico:项目图标
Makefile.win:编译规则文件(DEV-C++自动生成)
请点击这里并私信联系我
请将此项目Fork之后,clone到你的机器上,新建分支,做出修改后并推送到你的仓库,并在你的仓库的“pull request”页面中创建拉起请求。我们会查看你的代码并做出回应。
更多详细信息请参考这里或者在互联网上搜索其他教程。
请点击这里