描述:
请教个问题,我在自己做的ocx控件里加了个mediaplayer控件,在容器里测可以弹出来也可以播放,但把这个ocx控件再给别的程序调用时,进行弹出mediaplayer时就报错,怎么回事?有人知道么
错误是:winocc.cpp
374行
有哪位大哥可以帮忙想个法子。
部分代码如下:
play为我创建的窗口对象.
int CRecExCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
AfxEnableControlContainer();
play.Create(IDD_DIALOG1,this);//创建一个窗口,我在该窗口上加载了Media Player控件
return 0;
}
LONG CRecExCtrl::StartPlay(LPCTSTR DeviceID, LPCTSTR RecPath, LPCTSTR FileName)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
play.play("http://172.16.1.111/play/vox/20080818/40/20080818125843406040.wav ");
return 0;
}
void PLAY::play(LPCTSTR URL)
{
player.openPlayer(URL);//播放
}
解决方案1:
应该是当前并未处于播放状态,openPlayer仅仅设置当前播放器的当前播放项,设置之后再查询IWMPControls,然后调用play方法试试