本文實(shí)例為大家分享了winform循環(huán)播放多個(gè)視頻的具體代碼,供大家參考,具體內(nèi)容如下
環(huán)境: vs2015 +winform
首先,vs自帶組件很方便,所以,用windowMediaplayer組件,如果做單曲循環(huán)播放的話,加個(gè)屬性:
axWindowsMediaPlayer1.settings.autoStart = true; //設(shè)置自動(dòng)播放axWindowsMediaPlayer1.settings.setMode("loop", true); //設(shè)置循環(huán)播放言歸正傳:
一:拖入組件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]); } //默認(rèn)選擇第一項(xiàng) 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(); }提醒: 注意各個(gè)組件的自身屬性,運(yùn)行不了,及時(shí)調(diào)屬性, .
由于需求原因,不讓選擇文件,所以在代碼里,默認(rèn)添加的, 并把listbox隱藏了.
問題: 下面就要解決路徑問題了.如果打包,必須弄成項(xiàng)目路徑或者網(wǎng)絡(luò)路徑, 視頻文件并不支持內(nèi)置資源.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注