欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# winform循环播放多个视频

程序员文章站 2023-11-22 14:26:04
本文实例为大家分享了winform循环播放多个视频的具体代码,供大家参考,具体内容如下 环境: vs2015 +winform 首先,vs自带组件很方便,所以,用win...

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。