用WPF寫了一個彈幕播放器


看彈幕視頻的時候,如果不發彈幕,一個本地的彈幕播放器往往能帶來更好的體驗。目前已經有一些實現了,最初用過一個MukioPlayer, 后來又用過一個用C++寫的BiliLocal,這個程序能自動下載彈幕,播放格式也非常寬泛,功能和性能基本上都沒有什么值得挑剔的地方,感覺主要的一個Bug就是進度跳轉的時候彈幕要消失一陣子(包括顯示/隱藏彈幕的時候)。

前段時間為學習WPF的動畫的時候順便做了一個本地的彈幕播放器練手,后來發現效果還不錯,便將其完善了下,現在已經能基本可用了。雖然BiliLocal已經非常給力了,但自己寫的控制力度更大,沒有BiliLocal的進度跳轉時字幕消失的Bug,彈幕滾動算法上也加了一些小調整,看起來更加舒服點,一些想要的功能也可以自己加上去。這個程序雖然是WPF寫的,但並沒有用什么平台相關的功能,感覺移植到Windows Phone或Win8的Metro界面下應該是比較容易的。

感興趣的朋友可以下載試用一下:點擊下載。(需要.Net 4.5框架)

 

基本操作:

打開本地視頻和彈幕:

  • 點擊打開按鈕可以打開本地視頻文件和彈幕文件,可以同時選擇視頻文件和彈幕,也可以分別選擇。
  • 直接將文件拖到主窗口

視頻文件支持和系統相關,我只試了一些h264格式的mp4,mkv等格式的支持需要安裝K Lite CodecPack或其它解碼器。字幕文件目前只支持bilibili的xml格式的。

 

打開在線彈幕

  • 目前只支持解析bilibili的在線彈幕,直接點擊打開彈幕按鈕,輸入其Url即可。
  • 直接在瀏覽器中將視頻URL拖入到主窗口中。

 

播放控制

  • 播放按鈕:開始、停止、暫停操作 (雙擊主界面可顯示/隱藏控制面板)
  • 進度條:跳轉進度
  • 快捷鍵:←:后退30s,→:前進30s, 空格:暫停/繼續

 

其它控制操作

  • 聲音調整
  • 顯示/隱藏字幕

 

后續待添加的功能:

  1. 支持調整彈幕透明度
  2. 支持調整播放速率
  3. 收藏夾
  4. 區間重復播放
  5. 支持主題
  6. 一些個性化配置(如自定義快捷鍵,彈幕參數等)
  7. 能夠支持外掛字幕和mkv的內置字幕

這些功能實現基本上都不難,但是如果要做相應的界面就非常費時間了,等有精力的時候再慢慢弄。另外,程序中不免有些Bug,歡迎留言指出。

 

補充: 新版本的彈幕播放器已經發布,對彈幕增加了描邊,陰影,透明度,字體,字號設置的支持,性能方面也有了較大優化,看起來要舒服得多,歡迎使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM