想知道c# 用DirectShow 播放视频最简单的方法(高手指教)

sky__net 2004-10-22 10:21:25
希望有说明!小弟在这里谢过了
...全文
304 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
速马 2004-11-11
  • 打赏
  • 举报
回复
http://www.codeproject.com/cs/media/directshownet.asp
kink 2004-11-11
  • 打赏
  • 举报
回复
m_objVideoWindow = m_objFilterGraph as IVideoWindow;
m_objVideoWindow.Owner = (int)panelPlay.Handle;
m_objVideoWindow.WindowStyle = WS_CHILD | WS_CLIPCHILDREN;

WS_CHILD 和 WS_CLIPCHILDREN 怎么定义的?我怎么调试报错:名称“WS_CHILD”在类或命名空间“WindowsApplication1.frmPlayMedia”中不存在
sky__net 2004-10-22
  • 打赏
  • 举报
回复
up !
wangxt 2004-10-22
  • 打赏
  • 举报
回复
up
sky__net 2004-10-22
  • 打赏
  • 举报
回复
怎么就没有人理了!
sky__net 2004-10-22
  • 打赏
  • 举报
回复
m_objVideoWindow.Owner = (int)panelPlay.Handle;
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;
主要询问 这几句的意思!

csuwm_shepherd 2004-10-22
  • 打赏
  • 举报
回复
CleanUp()做一些清空操作!
updateSelect()更新几个按纽的状态(enable状态)
csuwm_shepherd 2004-10-22
  • 打赏
  • 举报
回复

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();
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧