pivw->put_Owner(NULL);
HELPER_RELEASE(pivw);
} // Relinquish ownership (IMPORTANT!) after hiding
// HELPER_RELEASE(pif);
HELPER_RELEASE(pigb);
HELPER_RELEASE(pimc);
HELPER_RELEASE(pmp);
HELPER_RELEASE(pimex);
return 0;
break;
}
}
}
return -1;
}
//继续播放
void CVideoPlay::ResumePlay()
{
HRESULT hr;
//得到当前播放位置
hr = pmp->get_CurrentPosition(&tCurrent);
if (SUCCEEDED(hr))
{
// 如果已在播放文件的最后(播放时间剩下不到1分钟),当前位置回到文件头
if ((tRemain=tLength - tCurrent) < 1)
pmp->put_CurrentPosition(0);
//不在文件尾,当前位置不变
else
pmp->put_CurrentPosition(tCurrent);
}
if(pimc)
pimc->Run(); //继续播放文件
}
//暂停播放
void CVideoPlay::PausePlay()
{
if(pimc)
pimc->Pause();
}
//搜索视频设备,并返回视频设备名列表
void CVideoPlay::FindDevice(CStringList &DevName)
{
HRESULT hr;
int uIndex=0;
//创建一个系统设备枚举器接口
ICreateDevEnum *pCreateDevEnum;
hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,
IID_ICreateDevEnum, (void**)&pCreateDevEnum);
//创建一个类型枚举器,指向系统的视频设备列表 //创建一个类型枚举器,指向系统的视频设备列表
IEnumMoniker *pEm;
hr = pCreateDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory,
&pEm, 0);创建一个类型枚举器,指向系统的视频设备列表 创建一个类型枚举器,指向系统的视频设备列表