C# winform循环播放多个视频

时间:2021-05-19

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

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章