下面这个override方法,ReciveUdpMsg();方法只能调用一次,第二次就进不去这个方法了,不知道怎么回事? /// <summary>
/// 重写
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_GRAPHNOTIFY)
{
int lEventCode;
int lParam1, lParam2;
while (true)
{
try
{
m_objMediaEventEx.GetEvent(out lEventCode, out lParam1, out lParam2, 0);
m_objMediaEventEx.FreeEventParams(lEventCode, lParam1, lParam2); if (lEventCode == EC_COMPLETE)
{
this.Clear();
if (j == 1 || j == i)
{
LoadStartVideos();
}
else
{
LoadVideo1();
}
ReciveUdpMsg();
}
}
catch (Exception)
{
break;
}
}
}
base.WndProc(ref m);
}
/// 重写
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_GRAPHNOTIFY)
{
int lEventCode;
int lParam1, lParam2;
while (true)
{
try
{
m_objMediaEventEx.GetEvent(out lEventCode, out lParam1, out lParam2, 0);
m_objMediaEventEx.FreeEventParams(lEventCode, lParam1, lParam2); if (lEventCode == EC_COMPLETE)
{
this.Clear();
if (j == 1 || j == i)
{
LoadStartVideos();
}
else
{
LoadVideo1();
}
ReciveUdpMsg();
}
}
catch (Exception)
{
break;
}
}
}
base.WndProc(ref m);
}
m_objMediaEventEx.GetEvent(out lEventCode, out lParam1, out lParam2, 0);跟踪下吧