概述
运用danmu.js可以方便地使用弹幕功能,满足任意Web DOM元素使用(包括video)。弹幕实现了顶部居中、底部居中、彩色弹幕、无遮挡滚动(具体算法参考前端算法之弹幕设计),以及其它常用的弹幕使用方式。
起步
-
安装
$ npm install danmu.js
-
使用
-
Step 1:
<div id="vs"></div>
<video id="mse" controls>
<source src="demo.mp4" type="video/mp4">
</video>
-
Step 2:
import DanmuJs from 'danmu.js'
let danmujs = new DanmuJs({
container: document.getElementById('vs'),
containerStyle: {
zIndex: 100
},
player: document.getElementsByTagName('video')[0],
comments: [
{
duration: 20000,
id: '1',
start: 2000,
prior: true,
color: true,
txt: '长弹幕长弹幕长弹幕长弹幕长弹幕',
style: {
color: '#ff9500',
fontSize: '20px',
padding: '2px 11px',
},
mode: 'top'
}
],
area: {
start: 0,
end: 1
},
defaultOff: true
})
这是danmu.js的npm使用方法,cdn使用可以参考示例。DEMO
API
弹幕控制相关API
player.danmu.start()
player.danmu.pause()
player.danmu.play()
player.danmu.stop()
player.danmu.sendComment({
duration: 15000,
id: 'id',
start: 3000,
txt: '弹幕内容',
style: {
color: '#ff9500',
fontSize: '20px',
border: 'solid 1px #ff9500',
borderRadius: '50px',
padding: '5px 11px',
backgroundColor: 'rgba(255, 255, 255, 0.1)'
}
})
player.danmu.setCommentDuration (id, duration)
player.danmu.setAllDuration (mode, duration)
player.danmu.setCommentID (oldID, newID)
player.danmu.hide (mode)
player.danmu.show (mode)
Dev
我们为开发者提供了示例,使用方式如下:
$ git clone git@github.com:bytedance/danmu.js.git
$ cd danmu.js
$ npm install
$ npm run build
$ http-server
访问 http://localhost:8080/demo/index.html
License
MIT