|

楼主 |
发表于 2004-7-5 09:52:00
|
显示全部楼层
Re:?芡暧捌?後?放????不完全
再???一?
我用directx的?例PlayWnd也??羞@?拥???(directshow?例)
windows media player也是(?是window提供的影片?芊跑??呢)
而且我用?商????了都??一台win2000,一台win2000 server)
????有?]有增加我是看工作管理?T的
假?完全?]有?影片?r??????000k
?取影片?芊?r假?10000k
然後?放影片後6010k
再?取影片?芊?r10010k
?放影片6020k
.
.
.
.
大?是??拥那?r
?然不是每次都很固定加10k
但是次?刀嗔??苊黠@的看到????的增加
最後window??嬖V你????不足
大家可以??看,?芤??影片然後再?Q一??影片??不是同一??影片不停?芊?
底下是我的程式
IGraphBuilder *pGraph;
IVideoWindow *pVidWin;
IMediaControl *pMediaControl;
?影片
void Movie: oadMovie(HWND hwnd,LPCWSTR szFile)
{
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,
IID_IGraphBuilder,(void**)&pGraph);
pGraph->RenderFile(szFile,NULL);
pGraph->QueryInterface(IID_IMediaControl,(void**)&pMediaControl);
pGraph->QueryInterface(IID_IVideoWindow,(void**)&pVidWin);
pVidWin->put_Owner((OAHWND)hwnd);
pVidWin->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
pVidWin->put_Visible(OATRUE);
RECT grc;
GetClientRect(hwnd,&grc);
HRESULT hr=FAILED(pVidWin->SetWindowPosition(0,0,grc.right,grc.bottom));
if(pMediaControl)
pMediaControl->Run();
}
?放影片
void Movie::FreeMovie(void)
{
if (pMediaControl)
pMediaControl->Stop();
SAFE_RELEASE(pMediaControl);
SAFE_RELEASE(pVidWin);
SAFE_RELEASE(pGraph);
CoUninitialize();
} |
|