Danmaku 弹幕
弹幕交互组件
基本用法
基本用法,通过 danmus 或者 v-model:danmus 绑定一个弹幕列表。
自定义设置
通过一些可以自定义的设置,包括自定义弹幕的内容显示。
API
Attributes
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 弹幕元素列表,支持纯文本或者自定义对象(支持 v-model) | string[] | object[] | [] |
| channels | 轨道数量 | number | 0 |
| autoplay | 是否自动播放 | boolean | true |
| use-slot | 是否开启弹幕插槽 | boolean | false |
| loop | 是否开启弹幕循环 | boolean | false |
| hidden | 是否隐藏 | boolean | false |
| font-size | 弹幕字号(slot 模式下不可用) | number | 18 |
| extra-style | 额外样式(slot 模式下不可用) | string | - |
| speeds | 弹幕速度(每秒移动的像素数) | number | 200 |
| debounce | 弹幕刷新频率(ms) | number | 100 |
| random-channel | 随机选择轨道插入 | boolean | false |
| is-suspend | 是否开启弹幕悬浮暂停(试验型功能) | boolean | true |
| top | 弹幕垂直间距(px) | number | 4 |
| right | 弹幕水平间距(px) | number | 0 |
Slots
| 名称 | 说明 |
|---|---|
| default | 默认内容 |
| dm | 自定义弹幕 |
Events
| 事件名称 | 说明 | 类型 |
|---|---|---|
| list-end | 所有弹幕插入完毕 | () => void |
| play-end | 所有弹幕播放完成(已滚出屏幕) | (index: number) => void |
| dm-over | 开启弹幕悬浮暂停时,当进入弹幕,暂停时触发 | (dm: string|object) => void |
| dm-out | 开启弹幕悬浮暂停时,当离开弹幕,恢复滚动时触发 | (dm: string|object) => void |
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| play | 开始/继续播放 | () => void |
| pause | 暂停弹幕播放 | () => void |
| stop | 停止播放并清空弹幕 | () => void |
| reset | 重置配置 | () => void |
| resize | 容器尺寸改变时重新计算滚动距离(需手动调用) | () => void |
| push | 发送弹幕(插入到弹幕列表末尾,排队显示) | (dm: string | object) => void |
| add | 发送弹幕(插入到当前播放位置,实时显示) | (dm: string | object) => void |
| insert | 绘制弹幕(实时插入,不进行数据绑定) | (dm: string | object) => void |
| get-play-state | 获得当前播放状态 | () => boolean |