从sourceforge我下载了一些示例来帮助我使用Direct Show库。在代码中他定义了一个常量(用它作为地址)在 SetNotifyWindow 中使用它我不喜欢#39;理解为什么我们引用我们最终定义的某些消息。
常量(消息):
// Application-defined message to notify app of filtergraph events
public const int WM_GRAPHNOTIFY = 0x8000 + 1;
媒体事件属性:
// provides method to retrieve the events
IMediaEventEx mediaEventEx;
SetNotifyWindow
函数使用此地址:
//set the notify window
//(NB:hr-->hresult (com device error for more http://msdn.microsoft.com/en-us/library/windows/desktop/dd375623%28v=vs.85%29.aspx)
int hr = mediaEventEx.SetNotifyWindow(ptr, WM_GRAPHNOTIFY, IntPtr.Zero);
答案 0 :(得分:0)
您正在设置通知。当你应该进行一些处理时,你告诉FGM要发回给你的消息。
来自MSDN on IMediaEventEx::SetNotifyWindow
:
当窗口收到消息时,应调用
IMediaEvent::GetEvent
方法来检索事件。事件是异步的,因此队列可能包含多个事件(或没有事件)。重复调用GetEvent,直到它返回错误代码。