dn400无缝钢管价格:VC调用windows media player控件实现视频播放

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 07:50:36
一 新建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("avi"),_T("*.avi"),
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
_T("(*.rmvb)|*.rmvb|(*.mpg)|*.mpg|(*.avi)|*.avi|(* .*)|*.*|"));
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的视频播放器能够有效地各种播放视频文件。