mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 03:46:16 -08:00
54 lines
2.5 KiB
JavaScript
54 lines
2.5 KiB
JavaScript
// npm i artplayer-plugin-danmuku
|
|
// import artplayerPluginDanmuku from 'artplayer-plugin-danmuku';
|
|
// 使用文档 https://artplayer.org/document/plugin/danmuku.html
|
|
|
|
var art = new Artplayer({
|
|
container: '.artplayer-app',
|
|
url: '/assets/sample/video.mp4',
|
|
autoSize: true,
|
|
fullscreen: true,
|
|
fullscreenWeb: true,
|
|
autoOrientation: true,
|
|
plugins: [
|
|
artplayerPluginDanmuku({
|
|
danmuku: '/assets/sample/danmuku.xml',
|
|
|
|
// 以下为非必填
|
|
speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
|
|
margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
|
|
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
|
|
color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
|
|
mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
|
|
modes: [0, 1, 2], // 弹幕可见的模式
|
|
fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
|
|
antiOverlap: true, // 弹幕是否防重叠
|
|
synchronousPlayback: false, // 是否同步播放速度
|
|
mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
|
|
heatmap: true, // 是否开启热力图
|
|
width: 512, // 当播放器宽度小于此值时,弹幕发射器置于播放器底部
|
|
points: [], // 热力图数据
|
|
filter: (danmu) => danmu.text.length <= 100, // 弹幕载入前的过滤器
|
|
beforeVisible: () => true, // 弹幕显示前的过滤器,返回 true 则可以发送
|
|
visible: true, // 弹幕层是否可见
|
|
emitter: true, // 是否开启弹幕发射器
|
|
maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
|
|
lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
|
|
theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
|
|
OPACITY: {}, // 不透明度配置项
|
|
FONT_SIZE: {}, // 弹幕字号配置项
|
|
MARGIN: {}, // 显示区域配置项
|
|
SPEED: {}, // 弹幕速度配置项
|
|
COLOR: [], // 颜色列表配置项
|
|
|
|
// 手动发送弹幕前的过滤器,返回 true 则可以发送,可以做存库处理
|
|
beforeEmit(danmu) {
|
|
return new Promise((resolve) => {
|
|
console.log(danmu);
|
|
setTimeout(() => {
|
|
resolve(true);
|
|
}, 1000);
|
|
});
|
|
},
|
|
}),
|
|
],
|
|
}); |