描述:
我是这样做的:
1、右击工具箱,在com组件中选择“Windows Media Player”,后把其拖到对话框中。
2,右击“MediaPlayer”项目,后选择“添加类”,然后找到“Windows Media Player<1.0>”控件,添加“CWMPPlayer4”和“CWMPControls”"CWMPSettings"到工程中。
3、 CWMPPlayer4 *m_player;
、、、、、、、、、
m_player = (CWMPPlayer4 *)this->GetDlgItem(IDC_OCX1);
、、、、、、、、、、
void CMediaPlayerDlg::OnOpen()
{
// TODO: 在此添加控件通知处理程序代码
char szFileFilter[]=
"RM File(*.rm)|*.rm|"
"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 dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);
if(dlg.DoModal()==IDOK)
m_pathName = dlg.GetPathName() ;
}
void CMediaPlayerDlg::OnPlay()
{
//TODO: 在此添加控件通知处理程序代码
m_controls = (CWMPControls *)m_player->get_controls();
m_controls->stop();
m_settings = (CWMPSettings *)m_player->get_settings();
m_settings->put_autoStart(true);
m_player->put_URL(m_pathName);
}
4、问题:
a、没有GetControls(),SetAutoStart(),SetUrl()接口,不能写成如m_player->get_controls().stop()形式。
b、无法播放,会出现“MediaPlayer.exe 中的 0x7c239fd7 (mfc71d.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000050 时发生访问冲突 。”的错误。
解决方案1:
m_player 没有创建吧,、
m_player.create
楼主先F5调试一下,看在哪句出问题的。
您可能想查找下面的文章:
- 在vc里面能够以控件的方式调用mediaplayerclassic嘛?热切盼望回复,回复有价值者有份
- 如何用mediaplayer控件控制avi文件的播放速度
- 怎么向MediaPlayer控件写打开文件的地址啊?
- console如何调用mediaplayer的控件播放网上的mp3
- 关于ActiveX控件MediaPlayer
- [MediaPlayer]在使用MediaPlayer播放时,整个屏幕都被迫刷新了
- =====应用MediaPlayer======
- 有谁用过mediaplayer控件吗?能否进来谈谈
- 如何在MFC的ACTIVEX控件中加入MEDIAPLAYER!
- 如何使用mediaplayer控件来播放wmv,asf格式的视频