弹幕功能
优质
小牛编辑
140浏览
2023-12-01
启用时在配置中添加插件名称 BulletCurtain ,参数如下:
参数 | 描述 |
---|---|
size | 默认字体大小,默认30 |
color | 默认字体颜色,默认0xFFFFFF |
font | 默认字体名称,默认Times New Roman |
duration | 所有弹幕在展示的时长,单位秒,默认10 |
alpha | 所有弹幕的不透明度,取值范围0-1,默认1 |
visible | 所有弹幕是否可见,1 为可见,0 不可见,默认1 |
弹幕插件启用后还开放有如下接口:
参数 | 描述 |
---|---|
setBulletCurtainAlpha(alpha) | 设置所有弹幕的不透明度 |
setBulletCurtainVisible(visible) | 设置所有弹幕是否可见 |
addBullet(data, menu) | 立刻显示一行弹幕 参数 data 是一个对象,于此接口有意义的 key 如下: id : 唯一标识符 text : 文字内容,此为必要数据 type : 弹幕类型,0 为从右至左,1 为顶端, 2 为底端,默认 0 size : 字体大小 color : 字体颜色 borderColor : 边框颜色,默认 -1 不显示边框 参数 menu 为一个数组,用来构建弹幕的右键菜单,默认为空 数组元素需为一个对象 label : 菜单项显示的文字 callback : 菜单项点击后回调的JS函数名称,回调时参数为 data |
removeBullet(id) | 移除一行弹幕 |
使用弹幕插件时,需了解此插件仅提供了把文字渲染至视频画面上(包括滚动和排列)的功能,播放器不管理各个弹幕与视频时间的对应关系,调用 addBullet 时在当前时刻显示一个弹幕并在 duration 秒之后自动移除,弹幕从画面中移除后(设置 alpha 和 visible 不会移除),其相关数据都会丢弃,所以 seek 到一个之前播放过的时间点,需要重新调用 addBullet 以显示之前出现过的弹幕,另外只有对于正显示着的弹幕调用 removeBullet 才有意义。