多媒体视频播放器.docx

上传人:b****2 文档编号:2194989 上传时间:2022-10-27 格式:DOCX 页数:22 大小:114.06KB
下载 相关 举报
多媒体视频播放器.docx_第1页
第1页 / 共22页
多媒体视频播放器.docx_第2页
第2页 / 共22页
多媒体视频播放器.docx_第3页
第3页 / 共22页
多媒体视频播放器.docx_第4页
第4页 / 共22页
多媒体视频播放器.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

多媒体视频播放器.docx

《多媒体视频播放器.docx》由会员分享,可在线阅读,更多相关《多媒体视频播放器.docx(22页珍藏版)》请在冰豆网上搜索。

多媒体视频播放器.docx

多媒体视频播放器

多媒体视频播放器1

1基本功能描述1

2设计思路1

3软件设计2

3.1设计步骤3

3.2界面设计6

3.3关键功能的实现9

3.3.1“打开”功能的实现9

3.3.2“播放”、“暂停”、“停止”“全屏”功能的实现10

3.3.3“上一首”和“下一首”功能实现12

3.3.4音量滑动条功能的实现12

3.3.5播放列表功能的实现14

3.3.6进度滑动条功能的实现15

4结论与心得体会16

5参考文献17

6思考题18

7附录18

7.1调试报告18

7.1.1调试一18

7.1.2调试二19

7.2测试结果20

7.3关键源代码21

 

多媒体视频播放器

1基本功能描述

多媒体视频播放工具是目前计算机必备的一个软件,比较流行的有RealPlayer、WindowsMediaPlayer以及国产暴风影音等,能够播放RM、RMVB、MP3、MPEG、DAT等多种格式的视频文件mp3、wma、mdi、wav、avi、dat等格式的音频文件。

用VC++软件设计并编写出一个多媒体视频播放器。

在设计期间,可以选择使用的多媒体控件,制作与用户交互性较好的应用程序界面。

对于控件有多种,可以自己选择。

本次课程设计要使用VC++6.0部的ActiveX控件——WindowsMediaPlayer控件,建立自己的多媒体播放器。

此多媒体播放器具有打开文件、播放、暂停、停止、关闭、全屏、音量滑块调节、进度滑块调节、快进、快退、显示隐藏播放列表等基本功能,可以播放*.mp3、*.wma、*.mdi、*.wav、*.avi、*.dat、*.mpg、*.rmvb等格式的多媒体文件。

同时还具有自制的播放列表,可以按照列表上的顺序进行一曲、下一曲的播放。

2设计思路

WindowsMediaPlayer是一款Windows系统自带的播放器,支持通过插件增强功能。

其控件作为本次课设的媒体控件可以满足要求。

并且该控件是微软自带的免费控件,通常每个电脑都应有这个控件,方便设计出来的软件在各个电脑运行。

根据WindowsMediaPlayer和各个按钮控件功能的特点,首先要在初始化中对CWMPControl,CWMPSettings,CWMPPlaylist,CWMPMedia等类的对象进行绑定和定义。

播放器的一些基本的功能如播放、暂停、全屏、静音、快进、快退等主要是调用CWMPControl和CWMPPlayer类中的成员函数来进行实现。

对于打开按钮,需要调用通用文件对话框类,调用szFileFilter()文件过滤函数和GetFileName()获取文件名函数。

除了以上提到的功能的实现,还有进度滑条Slider_progress和音量滑动条Slider2是通过对CSliderCtrl类实现的。

 

图1视频播放器流程图

3软件设计

设计平台可以是Win32的操作平台上,使用已安装的VC6.0++进行设计和调试。

在设计前要确保平台中有WMP控件。

结合之前的设计思路,使用WindowsMediaPlayer等控件来制作多媒体视频播放器。

若是Win64这与VC6.0++不兼容,可以选择更高的版本。

3.1设计步骤

打开VC++6.0,点击“新建”,在“新建”窗口选择“工程”选项卡。

由于程序是基于

对话框的MFC应用程序使用WindowsMediaPlayer等控件来制作多媒体视频播放器。

设置好地址位置和工程名后点“确定”。

这里的工程名字可以是自己的名字拼音缩写,也可以没有任何含义。

 

图2“新建”对话框示意图

在点击“确定”后进入到了“MFC应用程序向导—步骤1”的设置界面,选择“基本对话框”,然后点击“下一步”。

 

图3“MFC应用程序向导”示意图

在剩下的3个步骤中,全部选择默认的设置,不要做随意更改,直至“完成”便实现了对话框的创建。

然后是插入控件,先把系统初始化的按钮用“Delete”删除,在单击鼠标右键选择“插入ActiveX控件”,在跳出的对话框中选择“WindowsMediaPlayer”(一般当电脑安装了WindowsMediaPlayer,其控件也应该存在),点击“确定”。

 

图4添加“WindowsMediaPlayer”控件示意图

虽然已经插入控件了,但这时的控件还不能使用,因为控件的各种类并没有一起加入工程类中。

右击鼠标,选择“建立类向导……”,这时系统跳出对话框提示是否加入来自控件的类,直接点击“确定”就可以了。

 

图5“WindowsMediaPlayer”控件类添加示意图

接着对控件关联变量,右击加入的WMP控件,点击“属性”,把ID改为“IDC_player”,然后打开“建立类向导……”点到“MemberVariables”页面向IDC_player添加变量。

单击“ADDVariables”,会弹出图6所示的“Addmembername”对话框,命名为“m_player”,设为控制“Control”型,点击“OK”。

 

图6变量命名示意图

关联变量之后才算是真正的添加了该控件,可以发现在关联变量之后,控件工具栏多了“WindowsMediaPlayer”控件的选项,并且在“SourceFiles”中增加了17个类,相应的头文件也增加了17个,其中最主要的类为Cwmpplayer4,Cwmpcontrols,Cwmpmedia,Cwmpsettings四个大类。

Cwmpplayer4类主要是关于对其他类的对象的调用以及基本的控件功能的实现,提供了与WindowsMediaPlayer控件进行交互的基本方法,其中部分成员函数还能够进一步获取得到其他相关类对象的实例;Cwmpcontrols类主要是对控件的更多的操作;Cwmpmedia类主要是对于媒体文件资源的一些操作;Cwmpsettings类主要是对于媒体文件中的一些基本设置的操作。

3.2界面设计

首先是打开按钮,用于媒体文件的打开;然后依次是播放、暂停、停止、快进、快退、静音、全屏、退出、上一首、下一首、显示/隐藏按钮,以及视频进度滑块和音量滑块条Slider控件。

对控件主要进行变量的关联,以及ID的修改,对于普通按钮进行ID修改,结果如下下表1、表2、表3和表4所示。

表1控件ID以及对应响应函数表

按钮ID

控件Caption

消息响应函数

类型

IDC_BUTTON_open

打开

OnBUTTONopen()

命令按钮

IDC_BUTTON_fullscreen

全屏

OnBUTTONfullscreen()

命令按钮

IDC_BUTTON_play

播放

OnBUTTONplay()

命令按钮

IDC_BUTTON_panse

暂停/播放

OnBUTTONpanse()

命令按钮

IDC_BUTTON_stop

停止

OnBUTTONstop()

命令按钮

IDC_BUTTON_fastforward

快进

OnBUTTONFastforward()

命令按钮

IDC_BUTTON_fasteverse

快退

OnBUTTONfasteverse()

命令按钮

IDC_BUTTON_pre

上一曲

OnBUTTONpre()

命令按钮

IDC_BUTTON_next

下一曲

OnBUTTONnext()

命令按钮

IDC_BUTTON4_mute

静音

OnBUTTON4mute()

命令按钮

IDCANCEL

退出

命令按钮

IDC_BUTTON_show

隐藏/展开

OnBUTTONshow()

命令按钮

IDC_BUTTON_save

保存列表

OnBUTTONsave()

命令按钮

IDC_BUTTON_clear

删除列表

OnBUTTONclear()

命令按钮

然后是加入一些关联变量的控件,之前加入了WMPlayer,还要加入类别为“滑块”的Slider来当调节声音的滑块,还有加入类别为“列表框”的ListControl来充当播放列表。

表2控件ID以及关联变量表

按钮ID

控件Caption

变量名称

类型

IDC_OCX1

WMPlayer

m_player

CWMPlayer4

IDC_SLIDER_progress

Slider

m_jindu

CSliderCtrl

IDC_SLIDER_vol

Slider

m_vol

CSliderCtrl

IDC_LIST_MENU

ListControl

m_list2

CListBox

在按钮对应的消息响应函数中写程序将要用到表2的变量和WMP控件中的5个类的函数。

在这五个类中:

Cwmpplayer4类主要是关于对其他类的对象的调用以及基本的控件功能的实现,是WMP控件函数与外部交流的桥梁,不可缺少。

宁外其部分成员函数还能够进一步获取得到其他相关类对象的实例;Cwmpcontrols类主要是对控件的更多的操作,例如播放、暂停;Cwmpmedia类主要是对于媒体文件资源的一些操作,例如获取路径和名称;Cwmpplaylist类主要是关于播放列表的操作;Cwmpsettings类主要是对于媒体文件中的一些基本设置的操作。

表3其他类及对应对象表

类名

头文件名

对象名

CWMPControls

Wmpcontrols.h

m_Control

CWMPSettings

wmpsettings.h

m_Setting

CWMPMedia

wmpmedia.h

m_Media

CWMPPlaylist

wmpplaylist.h

m_Playlist

表4其他数据定义

数据类型

变量名

数据类型

变量名

CString

m_FileName

BOOL

flag,flag2,n

CString

m_PathName

int

vol

除了对各个控件关联变量以及消息响应函数,还要对对话框类进行消息响应函数的关联,如当一首歌播放完后的模式选择。

应用到WM_TIMER消息响应函数以及SetTimer()和KillTimer()函数,如图建立OnTimer函数。

 

图7添加“WM_TIMER”消息函数示意图

还有菜单的设计,其相对简单,只要名称和ID与表1保持一致就可以了。

在“ResourceFile”中右击鼠标添加“MENU”,属性为“IDR_MENU1”。

但是菜单并未与对话窗口有实质联系,需要将菜单加入到“IDD_SHIFAN_DIALOG”中来,在“IDD_SHIFAN_DIALOG”窗口空白右键单击,选中菜单“IDR_MENU1”,这样便完成了对菜单的加载。

 

图8控件按钮分布图

编译运行程序后得到了初步的界面效果图,当然还没有加入函数。

同时在左上角会显示自己写的工程名“YLJ_Media_Player”,如图8所示。

3.3关键功能的实现

对于各个按钮、列表功能的实现主要是通过对各个函数加入相应的代码,下文将列出相应的关键代码。

3.3.1“打开”功能的实现

“打开”按钮主要是实现了对打开的文件进行过滤,主要使用了szFileFilter()函数。

点击确定时,首先是把文件路径传给播放列表中,列表在从文件路径中提取文件名来显示。

然后又把文件路径通过SetUrl()交给控件读取播放。

voidCYLJ_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1