using QuartzTypeLib;
private void PlayMovie(string filename)
{
CleanUp();
Point pt = new Point(100,100);
//pictureBG.Hide(); m_objFilterGraph = new FilgraphManager();
m_objFilterGraph.RenderFile(filename);
try
{
m_objBasicAudio = m_objFilterGraph as IBasicAudio;
}
catch(Exception e)
{
MessageBox.Show(e.Message);
}
try
{
m_objVideoWindow = m_objFilterGraph as IVideoWindow;
m_objVideoWindow.Owner = (int)panelPlay.Handle;
m_objVideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;
m_objVideoWindow.SetWindowPosition(panelPlay.ClientRectangle.Left,
panelPlay.ClientRectangle.Top,
panelPlay.ClientRectangle.Width,
panelPlay.ClientRectangle.Height);
}
catch(Exception)
{
m_objVideoWindow = null;
} m_objMediaEvent = m_objFilterGraph as IMediaEvent; m_objMediaEventEx = m_objFilterGraph as IMediaEventEx;
m_objMediaEventEx.SetNotifyWindow((int)this.Handle,WM_GRAPHNOTIFY,0); m_objMediaPosition = m_objFilterGraph as IMediaPosition; m_objMediaControl = m_objFilterGraph as IMediaControl; m_objMediaControl.Run(); m_CurrentStatus = mediaStatus.running;
updateSelect();
}
updateSelect()更新几个按纽的状态(enable状态)
m_objVideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;
m_objMediaEvent = m_objFilterGraph as IMediaEvent;
m_objMediaEventEx = m_objFilterGraph as IMediaEventEx;
m_objMediaEventEx.SetNotifyWindow((int)this.Handle,WM_GRAPHNOTIFY,0);
m_objMediaPosition = m_objFilterGraph as IMediaPosition;
主要询问 这几句的意思!
m_objVideoWindow.Owner = (int)panelPlay.Handle;
m_objVideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;WS_CHILD 和 WS_CLIPCHILDREN 怎么定义的?我怎么调试报错:名称“WS_CHILD”在类或命名空间“WindowsApplication1.frmPlayMedia”中不存在