这篇文章主要为大家详细介绍了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循环播放多个视频
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
猜你喜欢
- .NET CORE DI 依赖注入 2023-09-27
- 如何使用C# 捕获进程输出 2023-03-10
- user32.dll 函数说明小结 2022-12-26
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- Unity3D实现渐变颜色效果 2023-01-16
- c# 模拟线性回归的示例 2023-03-14
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- Oracle中for循环的使用方法 2023-07-04
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Unity Shader实现模糊效果 2023-04-27