2013-04-16 115 views
0

我很接近完成我的程序,但我有一個問題。 無論如何,我可以暫停循環,直到播放Windows Media Player中的所有文件。 像處理例如:等到Windows Media Player結束爲止?

      process.WaitForExit(); 
          while (!process.HasExited) 
           Thread.Sleep(500); 

代碼:

 private bool listbox3job() 
     { 
      AxWMPLib.AxWindowsMediaPlayer axWmp = 
wfh.Child as AxWMPLib.AxWindowsMediaPlayer; 
      DateTime? start = starttid2.Value; 
      DateTime? end = sluttid2.Value; 
      DateTime now = DateTime.Now; 

      if (start == null || end == null) 
      { 
      } 
      else if (now >= start.Value && now <= end.Value) 
      { 
       while (DateTime.Now < end.Value) // Loops till DateEndTime. 
       { 
        foreach (var selected in listBox3.Items) // Each file in ItemList. 
        { 
         string s = selected.ToString(); 

         if (listBox3Dict.ContainsKey(s)) 
         { 
          axWmp.URL = (listBox3Dict[s]); //Where all WMP files starts 
         } 
        } 
       } 

       return true; 
      } 
      return false; 
     } 
+0

任何??真的需要這個幫助。 – Sneakybastardd

回答

0

我建議你來處理PlaystateChanged事件。 msdn PlaystateChanged 在那裏您可以準確地確定當前媒體播放的開始和結束時間。

我也建議你使用WPF MediaElement(嵌入如果你使用Windows窗體),因爲它更容易使用和更穩定。