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隐藏了.
问题: 下面就要解决路径问题了.如果打包,必须弄成项目路径或者网络路径, 视频文件并不支持内置资源.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。