在中Visual Studio .NET 2003利用DirectShow播放媒体文件(四).docx
-
资源ID:73292462
资源大小:14.19KB
全文页数:7页
- 资源格式: DOCX
下载积分:8.88金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
在中Visual Studio .NET 2003利用DirectShow播放媒体文件(四).docx
在中VisualStudio.NET2003利用DirectShow播放媒体文件(四)/IDC_VW_FRAME控件PictureControl主要作用是控制VedioWindow的显示位置voidCPlayWndDlg:MoveVideoWindow(void)IVideoWindow*pVideoWinow=NULL;if(m_pGraph)m_pGraph->QueryInterface(IID_IVideoWindow,(void*)&pVideoWinow);CRectrc;GetDlgItem(IDC_VW_FRAME)->GetWindowRect(rc);ScreenToClient(rc);pVideoWinow->SetWindowPosition(rc.left,rc.top,rc.Width(),rc.Height();pVideoWinow->Release();pVideoWinow=NULL;voidCPlayWndDlg:CleanUp(void)longlevCode;IVideoWindow*pVidWin=NULL;if(!m_pGraph)return;m_pGraph->QueryInterface(IID_IVideoWindow,(void*)&pVidWin);m_pEvent->WaitForCompletion(INFINITE,&levCode);pVidWin->put_Visible(OAFALSE);pVidWin->Release();m_pMediaSeeking->Release();m_pMediaControl->Release();m_pEvent->Release();m_pGraph->Release();m_pMediaSeeking=NULL;m_pMediaControl=NULL;m_pEvent=NULL;m_pGraph=NULL;UpdateData(FALSE);CClientDCdc(GetDlgItem(IDC_VW_FRAME);dc.SetBkColor(RGB(0,0,0);CRectrc;GetDlgItem(IDC_VW_FRAME)->GetClientRect(rc);ClientToScreen(rc);dc.FillRect(rc,CBrush:FromHandle(HBRUSH)GetStockObject(BLACK_BRUSH);Invalidate();BOOLCPlayWndDlg:Stop(void)IVideoWindow*pVidWin=NULL;HRESULThr;if(m_pMediaControl)LONGLONGpos=0;hr=m_pMediaControl->Stop();hr=m_pMediaSeeking->SetPositions(&pos,AM_SEEKING_AbsolutePositioning,&pos,AM_SEEKING_NoPositioning);m_pGraph->QueryInterface(IID_IVideoWindow,(void*)&pVidWin);pVidWin->put_Visible(OAFALSE);m_isPlaying=FALSE;GetDlgItem(IDC_PLAY_BUTTON)->EnableWindow(TRUE);GetDlgItem(IDC_PAUSE_BUTTON)->EnableWindow(FALSE);pVidWin->Release();longlevCode;m_pEvent->WaitForCompletion(INFINITE,&levCode);m_pMediaControl->Release();returnTRUE;returnFALSE;BOOLCPlayWndDlg:Play(void)/运行IVideoWindow*pVidWin=NULL;if(m_pGraph)m_pGraph->QueryInterface(IID_IVideoWindow,(void*)&pVidWin);pVidWin->put_Visible(OATRUE);m_pGraph->QueryInterface(IID_IMediaControl,(void*)&m_pMediaControl);m_pMediaControl->Run();m_isPlaying=TRUE;GetDlgItem(IDC_PLAY_BUTTON)->EnableWindow(FALSE);GetDlgItem(IDC_PAUSE_BUTTON)->EnableWindow(TRUE);returnTRUE;returnFALSE;