自定义脚本

暴露变量

播放器会在 window 上暴露一个 atom 变量

字段描述类型
on事件监听器函数
dark主题切换布尔值
color设置主题色字符串
duration视频总长数字
danmu.load加载弹幕函数
danmu.getList获取已挂载的弹幕列表函数
danmu.getAdvance获取弹幕偏移量(秒)函数
danmu.setAdvance设置弹幕偏移量(秒)函数
danmu.setViewers设置观看人数函数

使用方式

on

  • 传入两个参数 事件名称 (字符串)回调函数
js
atom.on('ready', () => {
	console.log('播放器准备就绪')
})

dark

js
atom.on('ready', () => {
	atom.dark = true // 黑色主题
	atom.dark = false // 白色主题
})

color

js
atom.on('ready', () => {
	atom.color = '#00AEEA'
})

duration

js
atom.on('ready', () => {
	console.log(atom.duration)
})

danmu.load

  • 传入一个参数: 弹幕数组
js
atom.on('ready', () => {
	atom.danmu.load([
		{
			time: 0,
			mode: 1,
			content: '测试弹幕',
			style: {
				color: '#ffffff'
			}
		}
	])
})

danmu.getList

  • 返回: 弹幕数组
js
atom.on('ready', () => {
	const danmuList = atom.danmu.getList()
	console.log(danmuList)
})

danmu.getAdvance

  • 返回: 数字
js
atom.on('ready', () => {
	const advance = atom.danmu.getAdvance()
	console.log(advance)
})

danmu.setAdvance

  • 传入一个参数: 数字
js
atom.on('ready', () => {
	atom.danmu.setAdvance(5)
})

danmu.setViewers

  • 传入一个参数: 数字
js
atom.on('ready', () => {
	atom.danmu.setViewers(100)
})

事件

事件名称描述回调参数
ready播放器准备就绪
timeUpdate视频已播放时长更新已播放时长,视频总长
ended视频完成播放已播放时长
sendDanmu弹幕发送弹幕对象,input 元素
danmuClick弹幕悬停栏点击弹幕对象
danmuInfoBtnChange移动端弹幕框左侧 tab 按钮点击按钮名字

补充

弹幕完整对象如下

js
{
	time: 0
	mode: 1,
	content: '测试弹幕',
	class: 'danmu',
	style: {
		color: '#ffffff'
	}
}
字段描述类型是否必须
time弹幕出现时间 (秒)数字
mode弹幕类型 (1:滚动,2:顶部,3:底部)数字
content弹幕内容字符串
class弹幕类名字符串
style弹幕样式对象