//继续播放
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);
HELPER_RELEASE(pCreateDevEnum);
if(pEm)
{
//继续播放
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);
HELPER_RELEASE(pCreateDevEnum);
if(pEm)
{