C#中实现视频播放器窗体程序(附源码下载)
場景
效果
?
實(shí)現(xiàn)
新建窗體程序,然后從工具箱中拖拽DataGridView控件,然后在控件右上角點(diǎn)擊新增列,設(shè)置好每列
的Name屬性和Headertext屬性。
?
?
新建Video類
項(xiàng)目-右擊-新增-類
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace MyPlayer {class Video{public Video(string id, string name, string path){this.ID = id;this.Name = name;this.Path = path;}//編號public string ID { get; set; }//名稱public string Name { get; set; }//路徑public string Path { get; set; }} }初始化播放列表
首先聲明一個全局的視頻列表對象
? List<Video> videoList = new List<Video>();然后在窗體的構(gòu)造方法中添加初始化播放列表的方法。
其位置
?
在Init方法中
?
public void Init(){videoList.Add(new Video("1", "前言", @"F:\全網(wǎng)首個微信小程序開發(fā)視頻教程\1.0前言.mp4"));videoList.Add(new Video("2", "課程介紹", @"F:\全網(wǎng)首個微信小程序開發(fā)視頻教程\1.1課程介紹,定個小目標(biāo).mp4"));videoList.Add(new Video("3", "開發(fā)文檔", @"F:\全網(wǎng)首個微信小程序開發(fā)視頻教程\1.2開發(fā)文檔簡讀,了解全貌.mp4"));//設(shè)置DataGridView的數(shù)據(jù)源UpdateDgv();}這里視頻采用的是本地絕對路徑的視頻。
播放列表添加完之后,將視頻列表賦值給DataGridView。
??????? public void UpdateDgv(){//設(shè)置DataGridView的數(shù)據(jù)源this.dgvVedioList.DataSource = videoList;}其中dgvVedioList就是對應(yīng)的DataGridView控件的name屬性。
新建播放頁面
項(xiàng)目-右鍵-添加-Windows窗體
然后在工具箱中拖拽一個WindowsMediaPlayer組件。
VS2013工具箱中使用WindowsMediaPlyer控件:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99681215
添加播放組件后
?
編寫其Play方法
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace MyPlayer {public partial class FrmPlayer : Form{//獨(dú)一無二的實(shí)例private static FrmPlayer uniquePlayer;//私有構(gòu)造函數(shù)private FrmPlayer(){InitializeComponent();}//檢查并創(chuàng)建唯一實(shí)例public static FrmPlayer GetInstance(){if (uniquePlayer == null){uniquePlayer = new FrmPlayer();}return uniquePlayer;}//播放節(jié)目public bool Play(string videoPath){try{//播放成功后返回truethis.wmp.URL = videoPath;return true;}catch (Exception ex){//播放器異常返回falseMessageBox.Show("播放器異常" + ex.Message);return false;}}//關(guān)閉過程中將實(shí)例引用設(shè)為nullprivate void FrmPlayer_FormClosing(object sender, FormClosingEventArgs e){FrmPlayer.uniquePlayer = null;}private void wmp_Enter(object sender, EventArgs e){}} }?
配置右鍵菜單
回到播放列表的頁面,拖拽一個ContextMenuStrip組件,設(shè)置右鍵播放菜單。
然后將DataGridView與之關(guān)聯(lián)。具體可參照如下:
C# Winform程序中DataGridView中使用ContextMenuStrip實(shí)現(xiàn)右鍵菜單:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99680453
配置右鍵菜單的點(diǎn)擊事件
?private void tsmiPlayer_Click(object sender, EventArgs e){//獲取播放路徑string videoPath = this.dgvVedioList.CurrentRow.Cells["path"].Value.ToString();if (!File.Exists(videoPath)){MessageBox.Show("文件不存在!","提示");return;}//創(chuàng)建單例--視頻播放頁面窗體FrmPlayer myPlayer = FrmPlayer.GetInstance();bool result = myPlayer.Play(videoPath);if (result){//顯示myPlayer.Show();}else{//釋放myPlayer.Dispose();}}?
總結(jié)
以上是生活随笔為你收集整理的C#中实现视频播放器窗体程序(附源码下载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2013工具箱中使用WindowsM
- 下一篇: C#中在窗体应用中使用StringBui