c#winform循环播放多个视频


    环境: vs2015 +winform

    首先,vs自带组件很方便,所以,用windowMediaplayer组件,如果做单曲循环播放的话,加个属性:

             axWindowsMediaPlayer1.settings.autoStart = true;            //设置自动播放
             axWindowsMediaPlayer1.settings.setMode("loop", true);     //设置循环播放

   言归正传:

   一:拖入组件button  ,windowMediaplayer,listbox,timer

  二:

 List<string> fileList = new List<string>();     
        private void button1_Click(object sender, EventArgs e)
        {

            fileList.Add(@"E:\\QLDownload\nba\\Action2.mp4");
            fileList.Add(@"E:\\QLDownload\nba\\Action3.mp4");
            fileList.Add(@"E:\\QLDownload\nba\\Action4.mp4");
            fileList.Add(@"E:\\QLDownload\nba\\Action5.mp4");
            for (int i = 0; i < fileList .Count ; i++)
            {
                listBox1.Items.Add(fileList [i]);
            }

            //默认选择第一项
            this.listBox1.SelectedIndex = 0;
            axWindowsMediaPlayer1 .URL = fileList [listBox1.SelectedIndex];
            axWindowsMediaPlayer1 .Ctlcontrols.play();
        }



 private void timer1_Tick(object sender, EventArgs e)
        {
            if (axWindowsMediaPlayer1 .playState == WMPLib.WMPPlayState.wmppsPlaying)
            {
                double d1 = Convert.ToDouble(axWindowsMediaPlayer1 .currentMedia.duration.ToString());
                double d2 = Convert.ToDouble(axWindowsMediaPlayer1 .Ctlcontrols.currentPosition.ToString()) + 1;
                if (d1 <= d2)
                {
                    nextMusic(listBox1.SelectedIndex);
                }
            }
         }


 private void Form1_Load(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1 .settings.autoStart = false  ;
        
        }


void nextMusic(int index)
        {
            //listBox1.SelectedIndices.Clear();
            index++;
            if (index == listBox1.Items.Count)
            {
                index = 0;
            }
            axWindowsMediaPlayer1 .URL = fileList [index];
            listBox1.SelectedIndex = index;
            axWindowsMediaPlayer1 .Ctlcontrols.play();
        }

 

    提醒: 注意各个组件的自身属性,运行不了,及时调属性, .

    由于需求原因,不让选择文件,所以在代码里,默认添加的, 并把listbox隐藏了.

 

问题: 下面就要解决路径问题了.如果打包,必须弄成项目路径或者网络路径, 视频文件并不支持内置资源.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM