弹幕功能

优质
小牛编辑
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 才有意义。