最近要交个小作业,恰好刚开了博客园的博客,就想着把这个记下来当是做点笔记)=.=(,做的小作业的题目是基于图像内容的内容检索,主要是包括OpenCV和使用ActiveX插件两种方法来播放,这部分就写关于使用控件来实现视频播放的内容吧。
【可能这几篇文章只是应用型的小作业,水平可能适合初学者看看,大牛略过就行】
开发环境:
Win7+VS2012+OpenCV
1.首先,打开VS2012,文件-->新建-->项目-->MFC应用程序,输入项目"名称"为Video,点击"确定",然后选中"基于对话框",其余保持默认就好,然后"完成"。
2.删除默认的几个控件,下面先介绍第一种:以控件方式实现视频播放。
在Video界面中右键,选择"插入ActiveX控件",然后选择"Windows Media Player",点击"确定"。
调节控件的大小,然后右键这个控件,选择"类向导",如图1所示:
双击1处,添加变量名,设置为"m_player",然后点击2处"添加类",选择"ActiveX控件中的MFC类",如图2所示:
按照网上的教程,说是在"可用的ActiveX控件"找到Windows media player<1.0>选中即可,但我没找到这个,于是可以选中"文件",点击"位置",选择"C:\Windows\System32\wmp.dll",如果可以都选上生成类,我选中了"IWMPPlayer4",然后">",点击"完成"即可。(如果需要下载Windows media player控件类打包,点击这里下载)
此时会跳转到CWMPPlayer4.h文件中,然后我们在VideoDlg.h文件爱你中添加头文件,即#include CWMPPlayer4.h,然后声明控件对象,如图3所示:
然后关联控件,注意眼根据自己控件的ID而定(我的默认的就是IDC_OCX1):
接着在界面中添加一个按钮,并双击按钮,出现响应按钮事件的函数进行编辑,我们只是简单的写一句就好:
void CVideoDlg::OnBnClickedButton1(){ m_player.put_URL(_T("G:\\testdata\\test.avi")); //注意加路径是\\,因为要转义,并且路径前要加上_T(),不然会报错}
最后运行程序,播放效果如下图所示:
在配置过程中可能还会出现一些小错误,多多查资料,多多交流。下篇讲使用OpenCV实现视频播放。