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