用VC做视频播放器_docx

(文档共14页)  

当前位置: 雨花文库>IT/计算机>计算机软件及应用>用VC做视频播放器_docx


自制多媒体播放器

使用VC++6.0强大的AppWizard、ClassWizard和其中的各种控件可以方便地建立各种应用程序。但是想要实现更高级更复杂的功能,就要借助丰富的ActiveX控件资源了。这里就要使用VC++6.0自带的一个ActiveX控件——ActiveMovieControl Object,来建立自己的多媒体播放器。此多媒体具有一般的播放功能,能播放:*.mp3,*.wma,*.mdi,*.wav,*.avi,*.dat等文件,还有Repeat功能。

具体步骤:

1.打开VC6.0,在Projects下选择MFC AppWizard(exe),并取名MediaPlayer,然后建立基于对话框的应用程序。

用VC做视频播放器

用VC做视频播放器

用VC做视频播放器

1 利用VC6.0的MFC AppWizard创建工程

首先:注册该控件在windows“运行”里写入:regsvr32 msdrm.ocx 单击确定

1.在VC++集成开发环境中,选择菜单File|New,弹出New对话框。

2.在Projects选项卡中选择MFC AppWizard(exe),并在Location项中输入“D:\Samples”。

3.在Project name中输入“CTLY2412”,项中的内容自动设置为“D:\Samples\Player”。

4.按下OK按钮,在弹出的MFC AppWizard-Step-1对话框中选择Dialog based项,生成基于对话框的应用程序。

5.按下Finish按钮,在弹出的对话框中按下OK按钮,等待创建完相应的工程。6.2.2 为对话框添加菜单

1.在工作区中单击Resource View选项卡,展开Dialog资源组,双击

IDD_PLAYER_DIALOG。在右边的工作台中显示可以进行可视化编辑的

IDD_PLAYER_DIALOG对话框,并打开一个控件工具窗口。删除AppWizard在对话框中生成的控件,即一个OK按钮、一个Cancel按钮和一个文本框。

2.鼠标右击Dialog资源组中的IDD_PLAYER_DIALOG条目,在弹出的菜单中选择Insert…选项。这时,显示Insert Resource(增加资源)窗口,选择其中的Menu项,单击右边的New按钮。这样,VC++6.0在资源文件Player.rc中增加了一项资源,即一个菜单。

3.双击ID号:IDR_MENU1,则在右边显示一个可编辑的菜单条,该菜单条的最右边是一个虚方框,表示最右边的一个菜单项。

4.双击虚方框,弹出Menu Item Properties(菜单项属性)对话框,在“C编辑”框中输入菜单标题:文件(&F),其中“&”的作用是使其后面的字符加上下划线,让用户可用键盘来选择菜单。另外,“O弹出”检查框默认选中,表明新加的菜单可以有其弹出的子菜单。

5.在“文件”菜单下有一个虚方框,表示要新建的菜单项。在“C标题”编辑框中输入:打开(&O),在ID编辑框中输入:ID_FILEOPEN(当“O弹出”检查框未选中时,必须输入ID)。另外,可根据需要在“M提示”编辑框中输入一串字符,提示该菜单选项功能。当光标停在该菜单选项上时,提示字符串显示在应用程序主窗口的状态条中。

6.类似步骤5)、6),按下表6-1内容,建立完整的菜单。

表6-1 媒体播放器的各菜单项属性

用VC做视频播放器

用VC做视频播放器

7.给新建的菜单连接一个类

①将鼠标移至编辑状态的菜单上,单击右键,弹出快捷菜单,选择

ClassWizard命令。在显示ClassWizard窗口的同时,弹出一个Adding a Class对话框,该对话框询问是增加一个新类,还是选择一个已经存在的类进行连接。因为我们要连接的类是与Player应用程序相关联的对话框类CPlayerDlg,此类已经存在,所以选择第二项。

②单击Adding a Class对话框中的OK按钮,显示一个Select Class

(选择类)对话框窗口,在Class list列表中选择CPlayerDlg,单击Select 按钮,确定所选项。

③单击“确定”按钮,关闭ClassWizard窗口。现在,菜单

ID_PLAYER_MENU已经和CPlayerDlg类连接起来了。

8.连接菜单和应用程序的主窗口

①在工作区中单击Resource View选项卡,展开Dialog资源组,双击

IDD_PLAYER_DIALOG。在右边工作台中显示的IDD_PLAYER_DIALOG 对话框的任何一个空白区域,单击鼠标右键,在弹出的菜单中选择Properties 项,随后弹出Dialog Properties对话框。

②在Dialog Properties对话框中有一个“M菜单”选项。单击“M菜单”

组合框的箭头,在弹出的列表中选择IDR_MENU

9.选择File|Save命令,保存所有工作。

现在,对已存在的程序进行编译、运行

6.2.3在对话框中添加ActiveMovie控件

在对话框中单击鼠标右键,选择Insert ActiveX Control命令。在弹出的对话

框中选择ActiveMovieControl Object,并按“确定”按钮。

10.为新添加的ActiveMovie控件确定ID号,为IDC_AMOVIE。

11.为IDC_AMOVIE映射一个成员变量

在ActiveMovie控件上单击右键,在弹出菜单中选择ClassWizard,在弹出的MFC ClassWizard对话框中选择Member Variables选项卡,按下Add Variable按钮,弹出对话框。在随后弹出对话框中,按下“OK”按钮,以确定新建类:CActiveMovie。在弹出的Add Member Variable对话框中确定与IDC_AMOVIE相映射的成员变量:m_AMovie。

6.2.4 完成“文件”菜单的各子菜单功能

以下的函数基本上是通过MFC的消息映射机制实现

12.实现“打开”菜单功能

①为“打开”菜单添加消息响应函数:OnFileopen()。

②OnFileopen()函数的代码如下:

void CTLY2412Dlg::OnFileopen()

{

// TODO: Add your command handler code here

//文件类型过滤

charszFileFilter[]=

"Mp3 File(*.mp3)|*.mp3|"

"Wma File(*.wma)|*.wma|"

"Video File(*.dat)|*.dat|"

"Wave File(*.wav)|*.wav|"

"AVI File(*.avi)|*.avi|"

(文档共14页)