本文共 2117 字,大约阅读时间需要 7 分钟。
1. 安装 WMP9
2. VS2005 创建 mfc 工程,名称如 MP 。
在资源视图中,右键 “Insert activex control...” ,添加 Windows Media Player 控件。右击控件 “Add variable...” ,指定变量名 m_player 。这时,你会发现工程中添加了两个文件,分别为: ocx1.h 和 ocx1.cpp 文件。这时发现 ocx1.h 文件中只有变量的设定,而并没有对应的方法 , 并且在 MPDlg.cpp 文件中会有如下 :
void CMP1Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_OCX1, m_player);
}
继续按照网上的方法在 solution explorer 中右击 "MP"->"add"->"class..." ,选择 "MFC class From ActiveX Control". 选择 "registry" 单选框,并选择 "Windows Media Player<1.0>" , Location : c:/windows/system32/wmp.dll , 之后将所有的接口文件加入到工程。
m_player.put_URL( _T("E://baofeng.wmv") );
1. 首先将 WMP9 去除,并注册 ocx 。
方法为:在 " 开始 "-" 运行 " 中: regsvr32 c:/windows/system32/wmp.dll /u ,卸载掉 9.0 版本 WindowsMediaPlayer, 然后,在在 PC 机的 [ 开始 ]-[ 运行 ] 里执行以下命令: regsvr32 c:/windows/system32/msdxm.ocx
2. VS2005 创建 mfc 工程,名称如 MP1 。
在资源视图中,右键 “Insert activex control...” ,添加 Windows Media Player 控件。右击控件 “add variable...” ,指定变量名 m_player 。这时,你会发现工程中添加了两个文件,分别为: mediaplayer1.h 和 mediaplayer1.cpp 文件。这时发现 mediaplayer1.h 文件中只有变量的设定,并有对应的方法。并且在 MP1Dlg.cpp 文件中会有如下 :
void CMP1Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_MEDIAPLAYER1, m_player);
}
在 solution explorer 中右击 "MP"->"add"->"class..." ,选择 "MFC class From ActiveX Control" 。选择 "registry" 单选框,并选择 "Windows Media Player<1.0>" , Location : c:/windows/system32/msdxm.ocx, 之后将 IMediaPlayer2 接口加入到工程。此时工程将出现 CMediaPlayer2.h 和 .cpp 文件。如图:
3. 然后在 MP1Dlg.h 中将 m_player 的类替换成 CMediaPlayer2 。
添加按钮,写入代码:
char szFileFilter[]=
"Mp3 File(*.mp3)|*.mp3|"
"MPEG File(*.mpeg)|*.mpeg|"
"Media File(*.asf)|*.asf|"
"Video File(*.dat)|*.dat|"
"MPGA File(*.mpga)|*.mpga|"
"Wave File(*.wav)|*.wav|"
"AVI File(*.avi)|*.avi|"
"Movie File(*.mov)|*.mov|"
"Mid File(*.mid;*,rmi)|*.mid;*.rmi|"
"Wma File(*.wma)|*.wma|"
"All File(*.*)|*.*||";
CFileDialog fileDialog( TRUE,NULL,NULL,NULL,szFileFilter,this);
if (fileDialog.DoModal() == IDOK)
{
CString fileName=fileDialog.GetPathName();
fileName.MakeUpper();
m_player.put_FileName(fileName);
}
至此,运行的程序就能选择文件并播放,也可以添加其他的功能,这里不多说。有个遗憾是,因为 avi 格式的压缩可能有多种格式,可能会出现不能播放或者只有声音未见图像的情况。
转载地址:http://zttsi.baihongyu.com/