public void Close() { if (objRun != null) { objRun.Cancel(); } if (mc != null) { mc.Stop(); mc = null; } if (graphManager != null) { graphManager.Stop(); graphManager = null; } wm = null; me = null; mp = null; if (objRun != null) { objRun.Cancel(); objRun.Stop(); objRun = null; } ctrlOwner = null; }
private void play(string args) { m_FilterManager = new QuartzTypeLib.FilgraphManager(); // m_FilterManager.RenderFile(args); //设置待播放文件 m_VideoWindow = m_FilterManager as QuartzTypeLib.IVideoWindow; //设置播放窗体 m_VideoWindow.Owner = (int)(this.panel1.Handle); m_VideoWindow.WindowStyle &= ~WS_BORDER; m_VideoWindow.SetWindowPosition(0, 0, this.panel1.Width, this.panel1.Height); m_MediaEvent = m_FilterManager as QuartzTypeLib.IMediaEvent; //设置媒体事件 m_MediaEventEx = m_FilterManager as QuartzTypeLib.IMediaEventEx; //设置媒体事件扩展 m_MediaPos = m_FilterManager as QuartzTypeLib.IMediaPosition; //设置媒体位置 m_MediaCtrl = m_FilterManager as QuartzTypeLib.IMediaControl; //设置媒体控制器 }
private void initMCI() { graphManager = new QuartzTypeLib.FilgraphManagerClass(); VideoPosition = new System.Drawing.Point(0, 0); ManualSize = new System.Drawing.Size(100, 100); VideoAllign = System.Drawing.ContentAlignment.MiddleCenter; // QueryInterface for the IMediaControl interface: mc = (QuartzTypeLib.IMediaControl)graphManager; wm = (QuartzTypeLib.IVideoWindow)graphManager; me = (QuartzTypeLib.IMediaEvent)graphManager; mp = (QuartzTypeLib.IMediaPosition)graphManager; if (objRun != null) { objRun.Stop(); objRun = null; } bLoaded = false; }