{ try { m_objMediaEventEx.GetEvent(out lEventCode, out lParam1, out lParam2, 0);
m_objMediaEventEx.FreeEventParams(lEventCode, lParam1, lParam2);
if (lEventCode == EC_COMPLETE) { m_objMediaControl.Stop(); m_objMediaPosition.CurrentPosition = 0; m_CurrentStatus = MediaStatus.Stopped; UpdateStatusBar(); UpdateToolBar(); } } catch (Exception) { break; } } }
base.WndProc(ref m); }
private void UpdateStatusBar() { switch (m_CurrentStatus) { case MediaStatus.None : statusBarPanel1.Text = "停止"; break; case MediaStatus.Paused : statusBarPanel1.Text = "暂停 "; break; case MediaStatus.Running: statusBarPanel1.Text = "播放"; break; case MediaStatus.Stopped: statusBarPanel1.Text = "停止"; break; }
if (m_objMediaPosition != null) { int s = (int) m_objMediaPosition.Duration; int h = s / 3600; int m = (s - (h * 3600)) / 60; s = s - (h * 3600 + m * 60);
statusBarPanel2.Text = String.Format("{0:D2}:{1:D2}:{2:D2}", h, m, s);
s = (int) m_objMediaPosition.CurrentPosition; h = s / 3600; m = (s - (h * 3600)) / 60; s = s - (h * 3600 + m * 60);
statusBarPanel3.Text = String.Format("{0:D2}:{1:D2}:{2:D2}", h, m, s); } else { statusBarPanel2.Text = "00:00:00"; statusBarPanel3.Text = "00:00:00"; } }
private void UpdateToolBar() { switch (m_CurrentStatus) { case MediaStatus.None : toolBarButton1.Enabled = false; toolBarButton2.Enabled = false; toolBarButton3.Enabled = false; break;
case MediaStatus.Paused : toolBarButton1.Enabled = true; toolBarButton2.Enabled = false; toolBarButton3.Enabled = true; break;
case MediaStatus.Running: toolBarButton1.Enabled = false; toolBarButton2.Enabled = true; toolBarButton3.Enabled = true; break;
case MediaStatus.Stopped: toolBarButton1.Enabled = true; toolBarButton2.Enabled = false; toolBarButton3.Enabled = false; break; } } } }
|