ホームページ >バックエンド開発 >C#.Net チュートリアル >C#winformで複数の動画をループさせるコード例を詳しく解説

C#winformで複数の動画をループさせるコード例を詳しく解説

黄舟
黄舟オリジナル
2017-03-16 11:02:183212ブラウズ

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

本文实例为大家分享了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隐藏了.

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

以上がC#winformで複数の動画をループさせるコード例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。