vs2008 做播放器 中Windows Media Player 控件
为方便大家理解,我先写一下我使用控件的全过程吧。
想在VS2008下学做个播放器。
文件——》新建——》项目,选择MFC应用程序——》名称为player——》确定。
点击应用程序类型——》基于对话框——》完成。
在DIALOG中右击——》插入ACTIVEX控件——》选Windows Media Player ,添加了Windows Media Player 控件ID为IDC_OCX1。
对Windows Media Player控件右击——》添加变量——》变量名为m_wmplayer——》完成。
拉二个按钮到DIALOG中“打开”和“暂停”,双击“打开”输入以下代码:
// TODO: 在此添加控件通知处理程序代码
TCHAR szFileFilter[]= _T("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();
m_wmplayer.put_URL(fileName);
}
到此时一切正常~
然后右击类视图/解决方案—〉添加类—〉选择“Active中的MFC类”—〉选择windows media player <1.0>选择所有接口生成类。
在使用CWMPControls的cpp文件前#include相应的头文件:#include "CWMPControls.h "
在然后在对话框头文件中(playerDlg.h)添加以下变量为对话框类的成员变量:
CWMPControls m_control;
在playerDlg.cpp的OnInitDialog()中添加代码:
m_control = static_cast <CWMPControls>(m_avPlayer.get_controls());
双击“暂停”输入
// TODO: 在此添加控件通知处理程序代码
m_control.pause();
就 OK