zoukankan      html  css  js  c++  java
  • 用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,欢迎留言指出。

    补充: 新版本的弹幕播放器已经发布,对弹幕增加了描边,阴影,透明度,字体,字号设置的支持,性能方面也有了较大优化,看起来要舒服得多,欢迎使用。

  • 相关阅读:
    POJ3159 Candies —— 差分约束 spfa
    POJ1511 Invitation Cards —— 最短路spfa
    POJ1860 Currency Exchange —— spfa求正环
    POJ3259 Wormholes —— spfa求负环
    POJ3660 Cow Contest —— Floyd 传递闭包
    POJ3268 Silver Cow Party —— 最短路
    POJ1797 Heavy Transportation —— 最短路变形
    POJ2253 Frogger —— 最短路变形
    POJ1759 Garland —— 二分
    POJ3685 Matrix —— 二分
  • 原文地址:https://www.cnblogs.com/TianFang/p/4115773.html
Copyright © 2011-2022 走看看