資源簡(jiǎn)介
基于VLC的C#播放器源碼
實(shí)現(xiàn)的功能:
1:打開(kāi)播放的音視頻文件((1)菜單欄“文件”->“打開(kāi)”,(2)工具欄(下面)“打開(kāi)”(3)播放器右鍵->打開(kāi))
2:暫停,繼續(xù)播放,停止音視頻文件
3:進(jìn)度條和右下角文本框顯示播放進(jìn)度
4:拖動(dòng)進(jìn)度條對(duì)視頻定位播放
5:工具欄(下面)“快進(jìn)”,“快退”均為5s
6:音量調(diào)節(jié)
7:菜單欄“文件”下可記錄最近播放的三個(gè)文件
8:在有記錄的情況下,初始狀態(tài)時(shí)雙擊視頻播放區(qū)或單擊“播放”播放上次關(guān)閉時(shí)播放的視頻
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
using?System.IO;
namespace?WindowsFormsApplication1
{
????public?partial?class?Form1?:?Form
????{
????????string?address;
????????private?VlcPlayer?vlcPlayer;
????????private?bool?is_playinig;
????????private?bool?media_is_open;//標(biāo)記媒體文件是否打開(kāi),若未打開(kāi)則tsbtn_play讀ini打開(kāi)之前的文件,若打開(kāi)則跳過(guò)這步(避免每次都打開(kāi)文件造成屏幕跳動(dòng))
????????public?Form1()
????????{
????????????InitializeComponent();
????????????address?=?Environment.CurrentDirectory;
????????????
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????label_media_name.Hide();
????????????if?(!File.Exists(address?+?“\\Menu.ini“))
????????????{
????????????????FileStream?fs?=?new?FileStream(address?+?“\\Menu.ini“?FileMode.Create?FileAccess.Write);
????????????????fs.Close();
????????????}
????????????string?pluginPath?=?System.Environment.CurrentDirectory?+?“\\plugins\\“;
????????????vlcPlayer?=?new?VlcPlayer(pluginPath);
????????????IntPtr?render_wnd?=?this.panel1.Handle;
????????????vlcPlayer.SetRenderWindow((int)render_wnd);
????????????
????????????tbVideoTime.Text?=?“00:00:00/00:00:00“;
????????????is_playinig?=?false;
????????????media_is_open?=?false;
????????????trackBar2.Value?=?50;
????????????this.Size?=?new?Size(800?600);?
???????????//?readFilePath();
????????}
????????///?
????????///?菜單欄文件實(shí)現(xiàn)功能
????????///?1?打開(kāi)待播放文件
????????///?2?記錄歷史信息
????????///?3?歷史信息最多不超過(guò)3條
????????///?4?點(diǎn)擊歷史信息可以實(shí)現(xiàn)播放menuitem_Click()
????????///?5?如果點(diǎn)擊歷史信息不能播放(出現(xiàn)錯(cuò)誤)則刪除該歷史信息item和Menu.ini?(方法:try?catch)
????????///?6?Menu.ini記錄的信息最多不超過(guò)3條不重復(fù)記錄
????????///?7?在歷史信息中右鍵可以選擇刪除
????????///?
????????///?
????????///?
????????///?
????????#region?菜單欄-文件
????????///?
????????///?打開(kāi)ToolStripMenuItem_Click
????????///?打開(kāi)文件并將文件目錄添加到Menu.ini
????????///?若打開(kāi)相同文件則不添加(這個(gè)有Bug這樣的話按tsBtn_play打開(kāi)的就不是上一個(gè)了,因?yàn)榇蜷_(kāi)相同的不添加)
????????///?若記錄行數(shù)超過(guò)3個(gè),則先記錄后三個(gè)數(shù)據(jù),再重新建一個(gè)Menu.ini(清除數(shù)據(jù))接著講記錄的后三個(gè)數(shù)據(jù)寫入
????????///?
????????///?
????????///?
????????///?
????????private?void?打開(kāi)ToolStripMenuItem_Click(object?sender?EventArgs?e)
????????{
????????????//bool?isSame?=?false;
????????????openFileDialog1.FileName?=?““;
????????????if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
????????????{?
????????????????//StreamReader?sr0?=?new?StreamReader(address?+?“\\Menu.ini“?true);
???????????????//?while?(sr0.Peek()?>?-1)
???????????????//?{
??????????????//??????if?((sr0.ReadLine()?==?openFileDialog1.FileName)|(openFileDialog1.FileName==““))
??????????????//??????{
??????????????//??????????isSame?=?true;
???????????????//?????}
??????????????//??}
???????????????//?sr0.Close();
???????????????//?if?(is
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????..A..H.?????36864??2016-04-24?22:21??mediaPla
?????文件???????1023??2016-04-25?09:50??mediaPla
????..A..H.?????36864??2016-04-25?09:31??mediaPla
????..A..H.?????62464??2016-04-28?10:21??mediaPla
?????文件????????187??2016-04-24?19:47??mediaPla
?????文件??????53760??2016-04-24?19:49??mediaPla
?????文件?????330752??2016-04-25?09:50??mediaPla
?????文件?????143296??2015-04-13?21:57??mediaPla
?????文件????2631616??2015-04-13?22:00??mediaPla
?????文件????????115??2016-04-28?09:38??mediaPla
?????文件?????114112??2015-04-13?21:57??mediaPla
?????文件??????88512??2015-04-13?21:57??mediaPla
?????文件?????115136??2015-04-13?21:57??mediaPla
?????文件??????22464??2015-04-13?21:57??mediaPla
?????文件?????637238??2015-04-13?21:56??mediaPla
?????文件?????171968??2015-04-13?21:58??mediaPla
?????文件?????554944??2015-04-13?21:57??mediaPla
?????文件?????265152??2015-04-13?21:58??mediaPla
?????文件?????245184??2015-04-13?21:57??mediaPla
?????文件?????166848??2015-04-13?21:57??mediaPla
?????文件??????55744??2015-04-13?21:57??mediaPla
?????文件??????98752??2015-04-13?21:57??mediaPla
?????文件?????127936??2015-04-13?21:57??mediaPla
?????文件??????22976??2015-04-13?21:57??mediaPla
?????文件??????56768??2015-04-13?21:57??mediaPla
?????文件????2158528??2015-04-13?21:57??mediaPla
?????文件?????720832??2015-04-13?21:58??mediaPla
?????文件??????52672??2015-04-13?21:57??mediaPla
?????文件?????534976??2015-04-13?21:57??mediaPla
?????文件??????29632??2015-04-13?21:57??mediaPla
............此處省略751個(gè)文件信息
評(píng)論
共有 條評(píng)論