vue-danmaku弹幕播报组件
·
npm install vue-danmaku@1 --save
<template>
<div>
<vue-danmaku v-model="danmus" style="height:100px; width:300px;"></vue-danmaku>
</div>
</template>
<script>
import vueDanmaku from 'vue-danmaku'
export default {
components: {
vueDanmaku,
},
data() {
return {
danmus: ['danmu1', 'danmu2', 'danmu3', '...'],
}
},
}
</script>
Attributes
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| v-model | 弹幕元素列表,支持纯文本或者自定义对象 | Array | 字符串或对象 | [] |
| channels | 轨道数量 | Number | 0 | |
| autoplay | 是否自动播放 | Boolean | true | |
| useSlot | 是否开启弹幕插槽 | Boolean | false | |
| loop | 是否开启弹幕循环 | Boolean | false | |
| fontSize | 弹幕字号(slot 模式下不可用) | Number | 18 | |
| extraStyle | 额外样式(slot 模式下不可用) | String | ||
| speeds | 弹幕速度(每秒移动的像素数) | Number | 200 | |
| debounce | 弹幕刷新频率(ms) | Number | 100 | |
| randomChannel | 随机选择轨道插入 | Boolean | false | |
| isSuspend | 是否开启弹幕悬浮暂停(试验型功能) | Boolean | false | |
| top | 弹幕垂直间距(px) | Number | 4 | |
| right | 弹幕水平间距(px) | Number | 0 |
方法
通过 this.$refs[refName] 调用
| 方法名 | 说明 | 参数 |
|---|---|---|
| play | 开始/继续播放 | - |
| pause | 暂停弹幕播放 | - |
| stop | 停止播放并清空弹幕 | - |
| show | 弹幕显示 | - |
| hide | 弹幕隐藏 | - |
| reset | 重置配置 | - |
| resize | 容器尺寸改变时重新计算滚动距离(需手动调用) | - |
| push | 发送弹幕(插入到弹幕列表末尾,排队显示) | danmu 数据,可以是字符串或对象 |
| add | 发送弹幕(插入到当前播放位置,实时显示) | danmu 数据,可以是字符串或对象 |
| insert | 绘制弹幕(实时插入,不进行数据绑定) | danmu 数据,可以是字符串或对象 |
| getPlayState | 获得当前播放状态 |
事件
| 事件名 | 说明 | 返回值 |
|---|---|---|
| list-end | 所有弹幕插入完毕 | - |
| play-end | 所有弹幕播放完成(已滚出屏幕) | index(最后一个弹幕的下标) |
更多推荐

所有评论(0)