|
|
发表于 2006-11-13 18:31:00
|
显示全部楼层
Re:请教:游戏片头动画怎么播放?
非常容易,使用Directshow.
Res:= Direct3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
PresentParams.hDeviceWindow, D3DCREATE_HARDWARE_VERTEXPROCESSING or D3DCREATE_MULTITHREADED,
@PresentParams, Direct3DDevice) ;
FilterGraph:=CreateComobject(CLSID_FilterGraph) as IGraphBuilder;
VideoRender:=createcomobject(CLSID_VideoMixingRenderer) as IBaseFilter;
Filtergraph.AddFilter(VideoRender,'VideoRender');
VideoRender.QueryInterface(IID_IVMRFilterConfig,FilterConfig);
FilterConfig.SetRenderingMode(VMRMode_Windowless );
VideoRender.QueryInterface(IID_IVMRWindowLessControl,VMRWindowlessControl);
VMRWindowlessControl.SetVideoClippingWindow(MediaPlayWindowHandle); VMRWindowlessControl.SetColorKey(0);
MediaRect:=Rect(0,0,FWidth,FHeight);
VMRWindowlessControl.SetVideoPosition(nil,@MediaRect);
FMovieMessageWindow:=classes.AllocateHWnd(GraphNotify);
MediaEvent.SetNotifyWindow(OAHWND(FMovieMessageWindow),WM_USER+1983,0);
FilterGraph.RenderFile(pwidechar(moviefile),nil);
|
|