2013-03-30 42 views
0

我是C#中的新成员 当我播放列表框中选定的不同视频时。我同时播放以前播放的视频和当前视频。我应该做些什么,只有选定的视频正在播放。从列表框中播放所选视频同时播放多个视频

我的代码如下: -

namespace videoplayer 
{ 

    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     Video vid; 
     string currentmedia; 
     string[] s=new string[5]; 

     public void button1_Click_1(object sender, EventArgs e) 
     { 
      openFileDialog1.ShowDialog(); 
      openFileDialog1.FileNames.CopyTo(s, 0); 
      foreach (string l in s) 
      { 
       listBox1.Items.Add(l); 
      } 
     } 

     private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      current=(s[listBox1.SelectedIndex]); 
      vid = new Video(current); 
      vid.Play(); 
     } 
    } 
} 

回答

0

每次选择指数的变化,将创建一个Video的新实例。

我建议你创建一个全局实例并使用它来处理所有的视频文件。

事情是这样的:

Video player; 
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    current=(s[listBox1.SelectedIndex]); 

    if (player != null && player.Playing) 
     player.Stop(); 

    if (player != null) 
     player.Dispose(); 

    player = new Video(current); 
    player.Play();    

} 
+0

当我创建视频的全局实例,编译此显示了错误: - “Microsoft.DirectX.AudioVideoPlayback.Video不包含一个构造函数,采取‘0’的说法。我该如何解决这个问题。 –

+0

@ user2226431 - 已修复!现在它的正确代码而不是伪代码! –

+0

非常感谢你的好友。 –