多功能音乐播放器的开发 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866
这个项目的意义: 这个项目所涉及到的知识: 1 掌握MFC开发程序的一般步骤; 2 对于常用的MFC类的了解与熟悉; 3 对于消息映射以及消息映射的本质的理解; 4 学习常用的与声音相关的API; 5 学会MFC常用的界面布局技巧; 这个项目所涉及到的知识: 1 《编程达人·基础课程——WIN32基础》中的MCI接口相关的调用; 2 《编程达人·基础课程——MFC》中的消息映射的相关知识; 3 《编程达人·基础课程——WIN32基础》中的常用控件的操作; 4 《编程达人·基础课程——MFC》中的常用类;
昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 演示效果预览 没加皮肤效果
昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 演示效果预览 加皮肤效果
如何让PC唱起来? 想要控制硬件必要要通过API,那我们又该使用哪个API呢? 两类API:MCI类与waveform 类 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 如何让PC唱起来? 想要控制硬件必要要通过API,那我们又该使用哪个API呢? 两类API:MCI类与waveform 类 典型的,MCI类我们一般用mciSendString waveform 类常用的比较多,本项目主要使用PlaySound
常用的播放功能如何实现? 很简单, mciSendString的参数设定一下即可 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 常用的播放功能如何实现? 很简单, mciSendString的参数设定一下即可
如何加载多首歌曲? 它你是否似曾相识? 似曾相识的GetOpenFileName 安在? 高大上的CFileDialog又是啥? 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 如何加载多首歌曲? 它你是否似曾相识? 似曾相识的GetOpenFileName 安在? 高大上的CFileDialog又是啥?
路径该如何处理? 假设程序获取到的默认路径为:C:\Users\Administrator\Desktop 方案一 方案二 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 路径该如何处理? 假设程序获取到的默认路径为:C:\Users\Administrator\Desktop 方案一 方案二 C:\\Users\\Administrator\\Desktop C:/Users/Administrator/Desktop 如何编程实现呢? strchr MemFind
歌曲的路径如何保存呢? 使用数组保存路径,两种写法如下: 配上malloc,比较麻烦,效率较低 char *Path[ ] 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 歌曲的路径如何保存呢? 使用数组保存路径,两种写法如下: 配上malloc,比较麻烦,效率较低 char *Path[ ] char Path[ ][ ] 直接在栈上,方便,但歌曲的数目不能太多
播放模式的设定如何生效? 我这边提供一个解决方案:设置一个定时器,每个一定的时间间隔去获取下播放模式的设定,然后更新想要的播放方式 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 播放模式的设定如何生效? 我这边提供一个解决方案:设置一个定时器,每个一定的时间间隔去获取下播放模式的设定,然后更新想要的播放方式 其他解决方案?鼓励大家积极思考,我在作业里给大家留了
界面的放大缩小如何实现? 所谓的放大缩小本质上是重新设定窗口的大小 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 界面的放大缩小如何实现? 所谓的放大缩小本质上是重新设定窗口的大小 相关的API:SetWindowPos AdjustWindowRect AdjustWindowRectEx MoveWndows 真的就这么简单吗? 新的窗口的大小是多少?直接写死吗?还有好的办法吗?
打开网页的实现 关键API:ShellExecute hWnd: HWND; 指定父窗口句柄 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 打开网页的实现 关键API:ShellExecute hWnd: HWND; 指定父窗口句柄 Operation: PChar; 指定动作, 譬如: open、runas、print、edit、explore、find[2] FileName: PChar; 指定要打开的文件或程序 Parameters: PChar; 给要打开的程序指定参数; Directory: PChar; 缺省目录 ShowCmd: Integer 打开选项 打开酷狗的例子:ShellExecute(m_hWnd,"open","http://web.kugou.com/",NULL,NULL,SW_NORMAL);
昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 整个程序实现流程 因为是采用的MFC写的,所以并没有类似于直接用SDK写的项目那样分为StepX讲解,这边主要是详细讲解每个按钮的具体实现原理,所以到时候大家看代码分析视频即可。 由此可见,这也是MFC编程最为难理解的地方——你不知道程序的第一步第二部,光知道用类向导添加消息映射,出了问题就傻眼了,所以大家学习时尽量学本质 当然,在讲解代码前,我会给大家简单讲解下MFC的实现原理