弹幕插件:vue-baberrage

简介: 弹幕插件:vue-baberrage

前言

我们在bilibili上浏览观看视频、刷剧的时候,有这样的一个功能——弹幕,百度搜了下,这样解释的:弹幕,指的是在网络上观看视频时弹出的评论性字幕。,有点类似我们在看实体书时,手拿笔在书上勾勾画画,顺便写写自己的读书笔记,想法啥的,只是现在将这个模式搬到了视频中,使用弹幕的方式来实现的。
在这里插入图片描述
图片来源于bilibili网站

下面我们来看看是如何实现的:

vue-baberrage是一款基于Vue.js弹幕插件,其有如下特点:

  • 容易使用 ¶只需几行代码,简单配置即可使用⁋
  • 高性能 ¶过百条同屏弹幕依然能保持60FPS⁋
  • 独立 ¶弹幕数据部分交还给使用者自己管理,可以配合Vuex使用⁋

效果图

在这里插入图片描述

官方Demo:点击进入
官方文档:点击进入

下面我们来看看使用方式:

安装插件

npm install vue-baberrage --save

引入插件

main.js:中写如下代码:

import Vue from 'vue'
import { vueBaberrage } from 'vue-baberrage'
Vue.use(vueBaberrage)

index.vue:中写如下代码:

import {MESSAGE_TYPE} from "vue-baberrage";

使用插件

vue:中写如下代码:

<vue-baberrage
    :barrageList="barrageList"
    :boxHeight="boxHeight"
    :isShow="barrageIsShow"
    :lanesCount="lanesCount"
    :loop="barrageLoop"
    :messageHeight="messageHeight"
    :throttleGap="throttleGap">
</vue-baberrage>

js:中写如下代码:

data() {
    return {
      barrageList: [],
      barrageIsShow: true,        //是否展示弹幕
      barrageLoop: true,         //是否循环播放
      boxHeight: 170,             //高度
      messageHeight: 25,        //消息高度
      lanesCount: 4,            //泳道数量
      throttleGap: 5000,        //消息间隔
    }
}
mounted() {
    this.addBarrageList();
},
methods: {
    addToList() {
        let list = [
            {id: 1,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第一条弹幕',time: 3},
            {id: 2,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第二条弹幕',time: 4},
            {id: 3,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第三条弹幕',time: 3},
            {id: 4,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第四条弹幕',time: 4},
            {id: 5,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第五条弹幕',time: 5},
            {id: 6,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第六条弹幕',time: 6},
            {id: 7,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第七条弹幕',time: 7},
            {id: 8,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第八条弹幕',time: 8},
            {id: 9,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第九条弹幕',time: 9},
            {id: 10,avatar: 'https://api.ddkjt.com/api/img_1.php',msg: '第十条弹幕',time: 10}
        ];
          list.forEach((v) => {
            this.barrageList.push({
              id: v.id,                    //弹幕ID
              avatar: v.avatar,              //头像
              msg: v.msg,                 //弹幕消息
              time: v.time,                  //屏幕展示时间
              type: MESSAGE_TYPE.NORMAL,    //类型
        });
    });
}

css:中写如下代码:

/*弹幕区域高度*/
/deep/ .baberrage-stage {
  height: 170px;
}

/*弹幕消息框*/
/deep/ .baberrage-item .normal {
  padding: 5px 10px;
}

/*头像*/
/deep/ .baberrage-item .normal .baberrage-avatar {
  width: 25px;
  height: 25px;
  background-color: black;
}

/*文字*/
/deep/ .baberrage-item .normal .baberrage-msg {
  font-size: 14px;
  line-height: 25px;
}

至此,完事儿,就可以实现弹幕的功能了。

目录
相关文章
|
6月前
|
人工智能
基于vite7.2+vue3.5+deepseek-v3.2高颜值流式ai会话助手
基于vue3.5+vite7.2+vant4+markdown+openai深度集成deepseek-v3.2聊天大模型。支持浅色+深色主题、stream流式输出、代码高亮、复制代码、katex公式、mermaid图表等功能。
375 4
|
11月前
|
人工智能 自然语言处理 搜索推荐
SEO最佳实践:从基础到进阶的全面指南
本文全面解析2025年SEO最佳实践,涵盖技术优化、内容策略、核心趋势及实用工具推荐。内容包括网站架构、页面性能、结构化数据、关键词布局、AI辅助创作及本地化SEO等关键领域,结合案例与常见误区分析,助您提升搜索引擎排名,获取持续增长的有机流量。
2025 5
|
JSON JavaScript 定位技术
Echarts 绘制地图(中国、省市、区县),保姆级教程!
Echarts 绘制地图(中国、省市、区县),保姆级教程!
27575 154
|
JavaScript
基于Vue2.X对WangEditor 5富文本编辑器进行封装与使用,支持单个或多个图片点击、粘贴、拖拽上传,Vue3.X项目也可直接使用
这篇文章介绍了如何在Vue 2.X项目中封装和使用WangEditor 5富文本编辑器,支持图片的点击、粘贴和拖拽上传,同时提到封装的组件也适用于Vue 3.X项目,并提供了详细的使用示例和后端配置。
2318 1
基于Vue2.X对WangEditor 5富文本编辑器进行封装与使用,支持单个或多个图片点击、粘贴、拖拽上传,Vue3.X项目也可直接使用
|
JavaScript
在Vue项目中vue-quill-editor的安装与使用【详细图解+过程+包含图片的缩放拖拽】
文章详细介绍了在Vue项目中安装和使用`vue-quill-editor`的步骤,包括如何通过npm安装、局部挂载、在Vue页面中引入和配置使用。同时,还提供了如何实现图片的缩放和拖拽功能的进阶教程,涉及到安装额外的插件`quill-image-drop-module`和`quill-image-resize-module`,以及对Webpack配置的调整。最后,文章还提供了实际效果展示和一些后续可能的拓展功能,如上传视频和将图片上传到服务器等。
在Vue项目中vue-quill-editor的安装与使用【详细图解+过程+包含图片的缩放拖拽】
|
JavaScript UED
如何在Vue3项目中使用防抖节流技巧
在Vue 3项目中使用防抖和节流技巧以优化组件性能,包括使用`lodash`库和自定义实现这两种方法。
1746 0
如何在Vue3项目中使用防抖节流技巧
|
前端开发
css页面顶部底部固定,中间自适应几种方法
【10月更文挑战第22天】css页面顶部底部固定,中间自适应几种方法
|
移动开发 小程序 前端开发
uni-app组件样式修改不生效
uni-app组件样式修改不生效