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,欢迎留言指出。

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

  • 相关阅读:
    SQL关键字的执行顺序
    StructuredStreaming基础操作和窗口操作
    StructuredStreaming简单的例子(NewAPI)
    StructuredStreaming(New)
    StructuredStreaming编程模型
    SparkStreaming简单例子(oldAPI)
    SparkStreaming架构
    Storm与SparkStreaming对比
    SparkStreaming-DStream(Discretized Stream)
    史上最全的java随机数生成算法分享(转)
  • 原文地址:https://www.cnblogs.com/TianFang/p/4115773.html
Copyright © 2011-2022 走看看