C#開發(fā)可播放攝像頭及任意格式視頻的播放器
前言
本文主要講述,在WPF中,借助Vlc.DotNet調(diào)用VLC類庫,實現(xiàn)視頻播功能,下面我們先來做開發(fā)前的準(zhǔn)備工作。
準(zhǔn)備工作
首先,我們創(chuàng)建一個項目WpfVLC,然后,進(jìn)入Neget搜索Vlc.DotNet,得到如下界面:
我們選擇Vlc.DotNet.Wpf,點擊安裝(這里我已經(jīng)安裝了,所以圖中顯示為卸載)。
然后,我們?nèi)LC官網(wǎng),下載VLC播放器。
VLC官網(wǎng):http://www.videolan.org/
因為我的電腦是64位的,所以我下載64位的VLC版本,如下圖:
下載完成后,正常安裝即可,下載的文件截圖如下:
安裝完成后,我們找到安裝的具體位置并打開,如下圖:
在文件夾內(nèi)我們找到文件libvlc.dll,libvlccore.dll和文件夾plugins,然后將他們復(fù)制出來。
現(xiàn)在我們回到我們剛剛創(chuàng)建的項目WpfVLC,進(jìn)入文件目錄,打開debug文件夾,然后我們在其目錄下創(chuàng)建一個文件夾libvlc,如下:
然后,在在liblic下建立一個文件夾win-x64,如下:
再然后,我們將剛剛復(fù)制的vlc的三個文件,放到這個文件夾下,如下:
到此,我們的準(zhǔn)備工作就完成了,現(xiàn)在開始編碼。
使用Vlc.DotNet播放視頻
現(xiàn)在,我們進(jìn)入項目的代碼開發(fā)。
首先我們將項目設(shè)置為64位項目,因為我們使用的VLC是64的。
然后,我們打開MainWindow頁面。
在頁面命名空間引入的地方加入Vlc.DotNet的命名空間。
接著,我們在頁面布局中加入VlcControl控件和打開文件、播放、停止的按鈕,如下:
然后,我們編寫xaml.cs文件的代碼,如下:
這樣,我們就完成了最基本的視頻播放、暫停、停止的功能。
可以看到,播放、暫停、停止的代碼非常簡單,就是調(diào)用控件的play,pause,stop函數(shù)即可。
因為VLC非常優(yōu)秀,可以支持多種格式的文件播放,所以我們寫的這個播放器也就可以打開任意類型的視頻文件。
播放界面如下:
現(xiàn)在,加入Slider控制播放進(jìn)度和音量。
Slider樣式,參考如下文章:
WPF依賴屬性的正確學(xué)習(xí)方法
WPF滑塊控件(Slider)的自定義樣式
VlcControl控制播放進(jìn)度的方法很簡單,如下:
控制播放聲音的方法如下:
這樣我們的播放器就開發(fā)完成了。
最終界面如下:
播放其他視頻源
播放RTSP
通過上面的代碼編寫,我們了解到了,在C#里使用VLC播放視頻的代碼非常簡單,只要在Play函數(shù)中寫入地址即可。
那么播放RTSP自然是同理,只要在Play中寫入RTSP的地址即可,如下:
播放攝像頭
播放攝像頭在這里也很簡單,只是Play的入?yún)⑸晕⒁⒁庖幌录纯?,如下?/p>
---------------------------------------------------------------------------------------------------
到此C#開發(fā)可播放攝像頭及任意格式視頻的播放器完成了。
代碼已經(jīng)傳到Github上了,歡迎大家下載。
Github地址:https://github.com/kiba518/WpfVLC
----------------------------------------------------------------------------------------------------
總結(jié)
以上所述是小編給大家介紹的C#開發(fā)可播放攝像頭及任意格式視頻的播放器,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對我們網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
上一篇:C#鎖住文件的操作步驟
欄 目:C#教程
下一篇:C#實現(xiàn)定時關(guān)機(jī)小應(yīng)用
本文標(biāo)題:C#開發(fā)可播放攝像頭及任意格式視頻的播放器
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/4698.html
您可能感興趣的文章
- 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新聞效果的方法
- 01-10C#調(diào)用WebService實例開發(fā)
- 01-10實現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路
- 01-10C#開發(fā)中的垃圾回收機(jī)制簡析
- 01-10C#編程中設(shè)置程序只可被運(yùn)行一次的方法
- 01-10C#微信開發(fā)(服務(wù)器配置)
- 01-10C#編程實現(xiàn)發(fā)送郵件的方法(可添加附件)
- 01-10詳解C#打開和關(guān)閉可執(zhí)行文件
- 01-10C#實例代碼之抽獎升級版可以經(jīng)表格數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,抽獎設(shè)置
- 01-10結(jié)合Visual C#開發(fā)環(huán)境講解C#中事件的訂閱和取消訂閱


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實例總結(jié)
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載


