Detailed explanation of the code example for looping multiple videos in C#winform

黄舟
Release: 2017-03-16 11:02:18
Original
3163 people have browsed it

这篇文章主要为大家详细介绍了C# winform循环播放多个视频的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了winform循环播放多个视频的具体代码,供大家参考,具体内容如下

环境: vs2015 +winform

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


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

言归正传:

一:拖入组件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();
    }
Copy after login

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

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

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

The above is the detailed content of Detailed explanation of the code example for looping multiple videos in C#winform. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template