以下为探索出的 Acfun 弹幕格式定义。目前 CommentCoreLibrary尚无法完全还原这个格式下的所有定义。
{
"c": ...,
"m": ... or JSON.stringify({
"l": ...,
"p": ...,
"pz": ...,
"rx": ...,
"k": ...,
"r": ...,
"e": ...,
"f": ...,
"sz": ...,
"c": ...,
"z": [ ... ]
}),
}
{
"mode": ...,
"color": ...,
"size": ...,
"user": ...,
"stime": ...,
"time": ...,
"message": ... or JSON.stringify({
"l": ...,
"p": ...,
"pz": ...,
"rx": ...,
"k": ...,
"r": ...,
"e": ...,
"f": ...,
"sz": ...,
"c": ...,
"z": [ ... ]
})
}
c: 属性序列,按照如下顺序
m/message: 弹幕文字(注意,在mode=7时请参考 高级弹幕 部分).m/.message高级弹幕(mode=7)的 message 或者 m 字段将不再是文本,而是一个JSON编码的对象。
n: 文字l: 弹幕生存时间 [0,999] 单位:秒p: x,y坐标 [-2000,2000] 单位:(/1000)%
x: x坐标y: y坐标pz: z坐标rx: x轴旋转 [-3600,3600] 单位:degk: y轴旋转 [-3600,3600] 单位:degr: z轴旋转 [-3600,3600] 单位:dege: x轴拉伸 [-50,50]f: y轴拉伸 [-50,50]sz: z轴拉伸 [-50,50]c: 锚点位置
.z移动参数 z 存在时是以数组的形式存在,其中每一个值都可能含有如下属性的一个或多个属性。其中除了 l (这个移动的生存时间)以外,
其余参数均是可选参数。如果有参数没出现则表示在这个时间区间内,没出现的参数没有发生变化。
x: 新x坐标y: 新y坐标z: 新z坐标rx: 新x轴旋转e: 新y轴旋转d: 新z轴旋转f: 新x轴拉伸g: 新y轴拉伸sz: 新z轴拉伸l: 效果生存时间t: 透明度.wf: 字体l: 滤镜,数组(可合并多个滤镜)
[0, 水平模糊, 垂直模糊, 质量][1, 颜色, 透明度, 水平模糊, 垂直模糊, 强度, 质量, 内阴影(bool), 挖空(bool)][2, 偏移距离, 角度, 颜色, 透明度, 水平模糊, 垂直模糊, 强度, 质量, 内阴影(bool), 挖空(bool), 只要阴影(bool)][2, 偏移距离, 角度, highlight颜色, highlight透明度, shadow颜色, shadow透明度, 水平模糊, 垂直模糊, 强度, 质量, 斜角模式(inner, outer, full), 挖空(bool)]