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();
        }
    }
}
4

1 に答える 1

0

選択インデックスが変更されるたびに、 の新しいインスタンスVideoが作成されます。

1 つのグローバル インスタンスを作成し、それを使用してすべてのビデオ ファイルを処理することをお勧めします。

このようなもの :

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();            

}
于 2013-03-30T05:51:31.517 に答える