VC调用windows media player控件实现视频播放

VC调用windows media player控件实现视频播放

一 新建MFC项目工程

打开Microsoft Visual C++ 6.0(以下简称VC6.0),选择菜单File->New命令,弹出New窗口,在New窗口中单击Projects标签,弹出选项卡,如图1所示,在下面选择工程类型MFC AppWizard(exe),然后在右边的编辑框Project name:中输入要新建MFC工程名称OpenVideo。再点击下面的OK键,在弹出的对话框中选择Dialog based选项,点击下面的Finish,在弹出的窗口中单击OK。这样我们就新建了一个MFC项目工程,其界面如图2所示。 图1 New对话框 图2 MFC工程界面

二 添加Windows Media Player控件

上面我们已经新建了一个MFC工程,这里先对Windows Media Player控件做一简单介绍,在介绍在VC6.0中如何添加Windows Media Player控件。 Windows Media Player控件的添加

选择菜单Project->Add to Project中的Components and Controls命令,弹出如图3所示的Components and Controls Gallery对话框。然后双击Choose a component to insert into your project:中的Registered ActiveX Controls,在该文件夹中

选择Windows Media Player,如图4所示,单击Insert,在Insert this component?中选择“确定”,将弹出Confirm Classes窗口,在列表框中有CWMPPlayer4等各种类,单击OK将返回到Components and Controls Gallery界面。最后单击“Close”返回VC++开发界面。自此,Windows Media Player的类都已加载到MFC的OpenVideo工程中。图5显示了OpenVideo工程中Source Files中的不同类,可以看出Windows Media Player控件中的类已添加到OpenVideo工程中。接下来的就是界面的设计。

图3 Components and Controls Gallery对话框 图4 Windows Media Player选择窗口 图5 OpenVideo工程的Source Files 三 界面设计

通过上面的工作,我们已经把Windows Media Player控件添加到OpenVideo工程中了,这里主要讲述改成小界面的设计。 图6 Dialog选项

在VC++6.0项目工作区中的ResourceView资源视图,展开资源视图文件夹下的对话框选项Dialog,双击Dialog文件下的IDD_OPENVIDEO_DIALOG,如图6所示,将在VC++6.0编辑区中弹出OpenVideo对话框编辑窗口。首先删除对话框中的几个原始命令按钮,然后在右边的Controls工具栏中分别选择3个Button按钮和1个Windows Media Player按钮置

于OpenVideo对话框中。如图7所示,单击右键并选择Properties,打开的Dialog Properties窗口中,将

General->Caption设置为“视频播放器”;在按钮命令上单击右键并打开Properties选项,在弹出的窗口中设置3个按钮的General->Caption分别为“打开”、“播放”、“关闭”;打开类向导窗口MFC ClassWizard,在Member Variables下给Windows Media Player按钮设置关联变量m_Ctrplay,类型为CWMPPlayer4,如图8所示,单击“OK”即可。 图7 视频播放器界面示意图 图8 MFC ClassWizard窗口

下面为“打开”、“播放”、“关闭” 分别添加消息响应函数OnButtonOpen()、OnButtonPlay()和OnButtonClose(),这3个函数的代码分别如下:

1、OnButtonOpen()打开视频文件 void COpenVideoDlg::OnButtonOpen() {

// TODO: Add your control notification handler code here CfileDialog dlg(TRUE,_T(\

OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T(\ if (dlg.DoModal()) {

m_strFilePathName=dlg.GetPathName(); } }

2、OnButtonPlay()播放视频文件 void COpenVideoDlg::OnButtonPlay() {

// TODO: Add your control notification handler code here if (m_strFilePathName!=\ {

m_Ctrplay.SetUrl(m_strFilePathName); } }

3、OnButtonClose()关闭视频文件 void COpenVideoDlg::OnButtonClose() {

// TODO: Add your control notification handler code here m_Ctrplay.close(); }

其中,变量m_strFilePathName在头文件

nbsp;OpenVideoDlg.h >中的class COpenVideoDlg : public Cdialog中定义为Cstring型变量。 图9 视频播放器窗口

四 结论

通过以上的讨论,我们已经设计好了视频播放器,然后运行程序,通过“打开”按钮打开一个视频文件,再按“播放”按钮,则其播放效果如图9所示,若按“关闭”按钮,则将视频文件关闭之。可以看出,基于VC++的Windows Media Player的视频播放器能够有效地各种播放视频文件。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4