C# winform循環播放多個視頻。本站提示廣大學習愛好者:(C# winform循環播放多個視頻)文章只能為提供參考,不一定能成為您想要的結果。以下是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隱藏了.
問題: 下面就要解決路徑問題了.如果打包,必須弄成項目路徑或者網絡路徑, 視頻文件並不支持內置資源.
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。