file string//弹幕ass文件名
startT time.Time//开始记录的基准时间
header string//ass开头
- encoderS func(string)(string,error)//编码
+ wrap func(io.Writer)(io.Writer)//编码
}
var (
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
`,
-encoderS:simplifiedchinese.GB18030.NewEncoder().String,
+wrap:simplifiedchinese.GB18030.NewEncoder().Writer,
}
func init(){
if v1,ok := accept[v];ok && v1 {
c.Log.Base(`Ass`).L(`T: `,"编码:", v)
if v == `utf-8` {
- ass.encoderS = func(b string)(string,error){
- return b,nil
- }
+ ass.wrap = nil
}
}
}
c.Log.Base(`Ass`).L(`I: `, "保存到", ass.file + ".ass")
c.Log.Base(`Ass`).L(`W: `, err)
}
-
- if tmp,err := ass.encoderS(ass.header);err != nil {
- c.Log.Base(`Ass`).L(`W: `, err)
- } else {
- p.File().FileWR(p.Filel{
- File:ass.file + ".ass",
- Write:true,
- Loc:0,
- Context:[]interface{}{tmp},
- })
- ass.startT = st
- }
+ p.File().FileWR(p.Filel{
+ File:ass.file + ".ass",
+ Loc:0,
+ Context:[]interface{}{ass.header},
+ WrapWriter:ass.wrap,
+ })
+ ass.startT = st
}
//传入要显示的单条字幕
b += `Dialogue: 0,`
b += dtos(st) + `,` + dtos(et)
b += `,Default,,0,0,0,,{\fad(200,500)\blur3}` + s + "\n"
-
- if tmp,err := ass.encoderS(b);err != nil {
- c.Log.Base(`Ass`).L(`W: `, err)
- } else {
- p.File().FileWR(p.Filel{
- File:ass.file + ".ass",
- Write:true,
- Loc:-1,
- Context:[]interface{}{tmp},
- })
- }
+ p.File().FileWR(p.Filel{
+ File:ass.file + ".ass",
+ Loc:-1,
+ Context:[]interface{}{b},
+ WrapWriter:ass.wrap,
+ })
}
//时间转化为0:00:00.00规格字符串
f := p.File()
f.FileWR(p.Filel{
File:savestream.path+"0.m3u8.dtmp",
- Write:true,
Loc:-1,
Context:[]interface{}{file_add},
})
f := p.File()
f.FileWR(p.Filel{
File:savestream.path+"0.m3u8.dtmp",
- Write:true,
Loc:-1,
Context:[]interface{}{"#EXT-X-ENDLIST"},
})
if path,ok := c.K_v.LoadV(`save_to_json`).(string);ok && path != ``{
p.File().FileWR(p.Filel{
File:path,
- Write:true,
Loc:int64(Loc),
Context:Context,
})
github.com/qydysky/part v0.5.21/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
github.com/qydysky/part v0.5.22 h1:KPaREUPSHidO/W9Blp708BSi7oqOfOE467+Tid6x25U=
github.com/qydysky/part v0.5.22/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
+github.com/qydysky/part v0.5.23 h1:JaP+t+ILHScJh7FPE6AUPqrkdMhfRIXSgAetJNPFTp0=
+github.com/qydysky/part v0.5.23/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
github.com/qydysky/part/msgq v0.0.0-20201213031129-ca3253dc72ad h1:Jtzf509lQrkUMGTV0Sc6IDCAiR1VrBcHrIban7hpye4=
github.com/qydysky/part/msgq v0.0.0-20201213031129-ca3253dc72ad/go.mod h1:w32TkJNVtTJd4LOS09cq+4uYG6itcN2vsqw+slp44Rg=
github.com/qydysky/part/msgq v0.0.0-20201213120821-f36e49c32bba h1:1ew9dRpc0Rux0WkWeT/4AE15ynYWmL2D7onJEJIFOB8=
github.com/qydysky/part v0.5.21/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
github.com/qydysky/part v0.5.22 h1:KPaREUPSHidO/W9Blp708BSi7oqOfOE467+Tid6x25U=
github.com/qydysky/part v0.5.22/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
+github.com/qydysky/part v0.5.23 h1:JaP+t+ILHScJh7FPE6AUPqrkdMhfRIXSgAetJNPFTp0=
+github.com/qydysky/part v0.5.23/go.mod h1:43opuciW71sZvOR67kye50jgMDSDrn/t6+LefNdlXPg=
github.com/qydysky/part/msgq v0.0.0-20201213120821-f36e49c32bba h1:1ew9dRpc0Rux0WkWeT/4AE15ynYWmL2D7onJEJIFOB8=
github.com/qydysky/part/msgq v0.0.0-20201213120821-f36e49c32bba/go.mod h1:w32TkJNVtTJd4LOS09cq+4uYG6itcN2vsqw+slp44Rg=
github.com/shirou/gopsutil v2.20.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=