网站首页 > 知识剖析 正文
今天给小伙伴们分享一款超棒的实现B站蒙版弹幕前端组件BarrageUI。
barrage-ui 一款免费开源的适用于web端用户界面及播放器的轻量级弹幕组件。基于Canvas实现,无第三方依赖。
特性
- 一切皆可“弹幕”化,可用于给网页上任何元素挂载弹幕评论;
- 简单+自由,项目开源化,无第三方依赖,可自由进行项目开发;
- 可定制+高扩展,可精确定义每一帧,快速实现B站蒙版弹幕效果;
用途
- 可给网页上的视频播放器、图片浏览器等元素装载弹幕动画
- 可用于实现B站风格的“蒙版弹幕”效果
安装
$ npm i barrage-ui -S
快速使用
<!-- HTML -->
<div id="barrageID">
<video id="video" src="assets/demo.mp4" controls></video>
</div>
<!-- JS -->
import Barrage from 'barrage-ui'
import mockData from 'barrage-ui/example.json'; // 引入组件demo数据
// 挂载弹幕
const barrage = new Barrage({
container: document.getElementById('barrageID'), // 弹幕容器或ID
data: mockData, // 弹幕数据
config: {
// 配置项
duration: 20000,
fontFamily: 'Microsoft Yahei',
defaultColor: '#fff',
},
});
// 新增一个弹幕
barrage.add({
key: 'pim931a6pm1j90bia4j',
time: 1200,
text: '新增一条弹幕内容数据',
fontSize: 32,
color: '#ff0',
});
// 播放弹幕
barrage.play();
参数配置
在 new Barrage({ ...options }) 创建弹幕实例时,需要传入的初始化参数。
其中,container 参数在初始化实例时必传,其他参数为可选。
弹幕数据字段
{
key: 'fctc651a9pm2j20bia8j',
createdAt: '2019-01-13T13:34:47.126Z',
time: 1200,
text: '我膨胀了',
fontFamily: 'SimSun',
fontSize: 32,
color: 'yellow',
avatar: '/images/avatar.png',
avatarSize: 32,
avatarMarginRight: 8,
}
文档提供了丰富的API及演示例子。
非常不错的一款开源web端蒙版弹幕组件,需要的同学不可错过哈!
最后附上文档及项目地址链接。
# 文档地址
https://barrage-ui.netlify.app/
# 示例地址
https://masking-danmaku-demo.netlify.app/
# 仓库地址
https://github.com/parksben/barrage
好了,就分享到这里。如果大家有其它弹幕组件,欢迎一起交流讨论!
- 上一篇: 让爱车亮丽如新不同位置清洗方法各异
- 下一篇: 「入门」QML中的anchors属性
猜你喜欢
- 2024-11-22 UI: 为啥你这个页面边框1px看起来这么粗?
- 2024-11-22 开源推荐!一款支持pc端&移动端的滑动验证码组件
- 2024-11-22 Android 约束布局
- 2024-11-22 Android常用布局总结之(LinearLayout、GridLayout等4种)
- 2024-11-22 Visual Studio跨平台开发实战(4):Xamarin Android控制项介绍
- 2024-11-22 开源版SearchGPT来了,两张3090就可复现,超越Perplexity付费版
- 2024-11-22 不得不佩服,美观小巧的网页内容编辑器——ContentTools
- 2024-11-22 HTML中一些常见的特殊标签样式属性
- 2024-11-22 4.10「HarmonyOS鸿蒙开发」自定义布局
- 2024-11-22 NBA勇士队的五个历史荣誉,你见证过几个?揭晓勇士队的球队文化
- 05-14HTML5教程从《HTML+CSS基础课程》学习笔记中的技巧
- 05-14HTML 简介
- 05-14豆包给我输出的html在线象棋源码(有点简单)
- 05-14零基础学习HTML之html框架内嵌框架和head头信息设置
- 05-14nodejs搭建服务器显示静态html页面
- 05-14一个简单的个人网站模板
- 05-14DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!
- 05-148行代码实现一个websoket
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)