2012-05-07 60 views
0

我正在製作一個小型媒體播放器,將媒體文件添加到作爲mediaelement播放列表的列表框中。當我點擊列表框中的一個項目時,它開始播放。我想要做的是在當前結束後讓媒體元素自動開始播放列表框中的下一首歌曲/視頻。自動播放列表框中的下一個項目

以下是我的歌曲添加到列表框中:

 OpenFileDialog ofd = new OpenFileDialog(); 
     ofd.Multiselect = true; 

     if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      foreach (string file in ofd.FileNames) 
      { 
       FileInfo fileName = new FileInfo(file);     
       listBox.Items.Add(fileName); 
      } 
     } 

這裏就是我可以點擊列表框中的項目,並開始播放

 private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     System.Windows.Controls.Button prevButton = player.Tag as System.Windows.Controls.Button; 
     System.Windows.Controls.Button button = sender as System.Windows.Controls.Button; 
     FileInfo fileInfo = button.DataContext as FileInfo; 

     // If a file is playing, stop it 

     if (prevButton != null) 
     { 
      player.Tag = null; 
      player.Stop(); 
      prevButton.Background = Brushes.White; 

      // if the one thats playing is the one that was clicked -> don't play it 

      if (prevButton == button) 
       return; 
     } 

     // Play the one that was clicked 

     player.Tag = button; 
     player.Source = new Uri(fileInfo.FullName); 
     player.Play(); 
    } 
+0

'player'是什麼類? – zimdanen

+0

這與mediaelement相同 – spex

回答

0

訂閱的MediaEnded事件MediaElement或MediaPlayer,然後從列表框中選取下一個項目。

編輯

如何挑選下一個項目:

  1. 當前項目的索引在ListBox的SelectedIndex屬性
  2. 您可以通過添加1至獲得下一個項目SelectedIndex並檢查索引是否仍在邊界內
  3. 將新索引存儲在變量中,該變量將保留新索引,直到項目已播放或直接更改SelectedIndex ;這將改變SelectedItem並移動列表框中的選項

下面的代碼沒有被編譯器檢查過!

​​
+0

你能舉一個例子說明如何做到這一點嗎? – spex

+0

問題是什麼?挑選下一個項目或訂閱活動? –

+0

如何挑選下一個項目 – spex

相關問題