BulletScreenEngine

高性能弹幕引擎
授权协议 MIT
开发语言 JavaScript
所属分类 iOS代码库、 弹出视图(Popup View)
软件类型 开源软件
地区 国产
投 递 者 魏学智
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

openBSE

English Version | wiki | Demo | Docs

高性能 JavaScript 弹幕引擎。同屏弹幕1000+

简介

一个高性能 JavaScript 弹幕引擎,简单易用。支持 CSS3 、 Canvas 2D 、 WebGL 和 SVG 渲染方式。支持顶部、底部、逆向弹幕渲染。使用 Canvas 2D 渲染方式可同屏渲染至少1000条弹幕(可达1600条,与电脑配置有关)。

安装和使用

安装

你可以直接点击这里下载最新发行版本,也可以用以下命令安装NPM包。

> npm install openbse

使用

安装完成后,在 Html 页面引入。

压缩版:

<script src="openBSE.all.min.js"></script>

调试版:

<script src="openBSE.all.js"></script>

添加一个 id 为 BulletScreensDiv 的固定大小的 div 标签用于显示弹幕,并插入以下 JavaScript 代码。

var bulletScreenEngine = new openBSE.BulletScreenEngine(document.getElementById('BulletScreensDiv'));
var _startTime = 5000;
for (var i = 0; i < 10000; i++) {
    bulletScreenEngine.addBulletScreen({
        text: "这是一个长长长长长长长长长长长长长长长长长长长长长长长长的测试(^_^)",
        startTime: _startTime
    });
    _startTime += Math.round(Math.random() * 300);
}
bulletScreenEngine.play();

用浏览器打开网页即可显示弹幕。

详细使用说明请查看 wiki 。

联系作者

如果有任何问题请写下 issues 。
E-mail:scottxu@scottxublog.com

版权声明

这个项目是一个开源项目,遵循 MIT 开源协议。要查看协议,请点击这里

 相关资料
  • 启用时在配置中添加插件名称 BulletCurtain ,参数如下: 参数 描述 size 默认字体大小,默认30 color 默认字体颜色,默认0xFFFFFF font 默认字体名称,默认Times New Roman duration 所有弹幕在展示的时长,单位秒,默认10 alpha 所有弹幕的不透明度,取值范围0-1,默认1 visible 所有弹幕是否可见,1 为可见,0 不可见,默认

  • 发布弹幕 调用地址 http://api.bilibili.cn/comment/post 需要 App Key 并验证登录状态(Access key);要求应用申请弹幕权限 参数 字段 必选 传递方式 类型 说明 mid true POST int 发布帐号(必须和 access_key 帐号一致) cid true POST int 视频ID playTime true POST float

  • Barrage.New事件 Barrage.New事件会在收到新的弹幕时被触发 Mudu.MsgBus.On( // 事件名,值为"Barrage.New" "Barrage.New", // 事件处理函数,参数为弹幕对象 function (barrage) { barrage = JSON.parse(barrage) console.log('收到新的弹幕,

  • 问题内容: 每次执行此查询需要200毫秒以上的时间: 但这每次在第一次查询后每次执行只需要2-3毫秒: 注意在两个查询中相同的ID值。看起来第二个查询使用第一个查询的缓存结果。但是,为什么第一个查询不能使用缓存的结果本身?从第一个查询中删除不会更改任何内容。 当我使用其他ID执行第二个查询时,第一次执行该查询大约需要40毫秒,此后每次需要2-3毫秒。因此,第二个查询不仅运行速度更快,而且还缓存结果

  • Mudu.Room.Barrage 弹幕组件 Barrage.New事件 Barrage.New事件会在收到新的弹幕时被触发 Mudu.MsgBus.On( // 事件名,值为"Barrage.New" "Barrage.New", // 事件处理函数,参数为弹幕对象 function (barrage) { barrage = JSON.parse(barrage)

  • null 我已经用WebFlux-WebClient、Ratpack和Lagom测试了当前(阻塞)Spring boot client(tomcat)、Spring boot 2.0(netty)。在每种情况下,我都强调了客户机应用程序通过gatling测试简单场景(100-1000个用户/秒)。 我已经测试了ratpack和lagom作为参考非阻塞io服务器,以便将结果与spring boot(