Danmaku 是一个基于 Javascript 的弹幕引擎库, 支持绑定 HTML5 video 或 audio, 然后在指定的容器内显示弹幕, 也可以直接只指定容器使用无时间轴的实时模式.
弹幕本身模式支持从右到左, 从左到右, 顶部固定和底部固定, 不支持高级代码弹幕.
Danmaku 提供了 DOM 和 Canvas 两种渲染引擎, Canvas 会比 DOM 效率稍微高一点, 但是内存占用也更高. 在我的测试中一般的弹幕文件两个渲染方式感受不到差别, 用这个文件做极限测试时 Canvas 会稍微比 DOM 流畅一点点, 但因为内存占用高导致视频本身的播放也出现卡顿. DOM 的话只会卡弹幕不会卡视频.
Danmaku 本身兼容到 IE9, demo 页面用了 AudioContext 之类的比较新的 API, 请用最新的浏览器打开.
1 comver 2015-08-11 14:59:38 +08:00 got thx |
2 johnhsm2333 2015-08-11 17:58:31 +08:00 看源码学习去 |
![]() | 3 fhefh 2015-08-11 18:50:06 +08:00 不错 mark |
![]() | 4 bugmenott 2015-08-11 20:04:03 +08:00 全屏模式后,不显示弹幕了…… |
![]() | 5 weizhenye OP @bugmenott 全屏模式是因为考虑到目前全屏 API 都没有稳定, 直接对视频全屏的话在 IE 下似乎没法再显示其他结点了. 在实际应用中基于 HTML5 的播放器一般都是另外写一个控制条, 不会用浏览器原生的控制条的. 于是 HTML5 的播放器全屏的一般做法都是去全屏 video 的父结点, 这个父结点一般都包含控制条的. 事实上我就是把全屏的控制交给用户, 使用时只要保证弹幕的 container 包含在需要全屏的节点里就好了. |