基于VC背景下的多媒体播放器设计研究
2018-09-25石冬琴
石冬琴
(江南机电设计研究所,贵州贵阳,550000)
1 基本功能描述
多媒体播放软件现在几乎成为每一台家用计算机的装机必备软件,比较流行的有快播、暴风影音以及百度影音等等,通过这些软件能够播放RM、RMVB、MP3、MPEG、DAT等多种格式的多媒体文件。这些商业软件在功能上已经做的相当完备,也符合大多数普通消费者的的胃口,但很多人电脑里总是安装了多种播放器,因为不同的播放器有不同的特点,并不是每个人都执著于用某一款播放器,因此设计一款符合自己使用习惯的播放器是很可行的。
使用VC++6.0强大的MFC、AppWizard、Class Wizard和其中的多种控件可以很方便地建立各种应用软件。同时想要实现更高级更复杂的功能,也可以借助ActiveX控件资源,用这些现有的控件资源,可以省去自己编程的复杂过程,从而实现更高级的功能。本次课程设计要使用VC++6.0自带的一个ActiveX控件——Windows Media Player控件,建立自己的多媒体播放器。
此多媒体播放器具有打开文件、播放、暂停、保存列表、清空列表、删除当前、退出、静音等基本播放功能,并且可以播放:*.mp3,*.wma,*.rmvb,*avi等格式的音频视频文件。同时还具有自制的可隐藏的播放列表,并且可以在播放模式中选择顺序播放、随机播放、单曲循环三种方式。同时,我也添加了保存列表的功能,当下一次打开时能保留上一次保存的播放列表,当然也添加了清空列表和删除当前的功能,更具人性化。
2 设计思路
根据各个按钮控件功能以及Windows Media Player控件的特点,首先要在头文件中将CWMPControl,CWMPSettings等类的对象的绑定以及定义,在后面的程序中需要调用这些类的成员函数。
对于打开文件按钮,需要调用通用文件对话框类,并利用listbox中的AddString函数把选中的文件添加到播放列表中,在MFC学习中有涉及。对于一些基本的功能的实现,如播放、暂停、全屏、音量增大、音量减小、静音、快进、快退等功能,主要调用CWMPControl和CWMPPlayer类中的成员函数来进行实现。
图1 系统流程图
对于播放列表,这次设计使用了SetWindowPos函数来改变一个子窗口弹出的尺寸和方向,并一些相关的函数实现了保存列表、删除列表、删除当前的功能。对应播放列表,我还添加了播放模式选择的功能,提供了顺序播放、随即播放、单曲循环三种选择。这当中运用的ontimer()函数和settimer()函数来控制播放模式。
3 设计步骤
首先,打开Microsoft Visual Studio6.0软件,新建一个工程如图2所示,以HuangJianfei为工程名,然后将此工程定义为基于对话框的MFC应用程序如图3所示,点击完成就成功建立了一个基于对话框的工程。
图3 基于对话框的MFC程序
图2 工程建立图
在建立好工程之后,首先是Windows Media Player控件的添加:建立空白对话框之后,在对话框的空白处单击鼠标右键,选择Insert ActiveX Control菜单项。选择Windows Media Player控件,如图4所示。加入控件后,此时该控件与该对话框并没有联系
,需要对其进行变量的关联。
4 结语
开发制作这一播放器具有很现实的意义,与其它多媒体播放器相比较,这一多媒体播放器具有功能较为强大、占用空间小、占用系统资源少的特点,它与现有多媒体资源应用状况紧密结合,既具有很强的直观感,又不失一般性。