}
// 实例切断
-func StreamOCut(roomid int, title ...string) {
+func StreamOCut(roomid int) (setTitle func(string)) {
if v, ok := streamO.Load(roomid); ok {
if !pctx.Done(v.(*M4SStream).Status) {
- if len(title) != 0 {
- v.(*M4SStream).Common().Title = title[0]
- }
v.(*M4SStream).Cut()
flog.L(`I: `, `已切片 `+strconv.Itoa(roomid))
+ return func(title string) {
+ if title != "" {
+ v.(*M4SStream).Common().Title = title
+ }
+ }
}
}
+ return func(s string) {}
}
// type Obs struct {
c.C.Title = type_item.Data.Title
}
- StreamOCut(c.C.Roomid, type_item.Data.Title)
+ setTitle := StreamOCut(c.C.Roomid)
if c.C.Title == type_item.Data.Title && c.C.AreaID == type_item.Data.AreaID {
// 直播间标题引入审核机制,触发审核时会接收到一个roomchange但标题不变
case <-time.After(time.Second * 30):
F.Get(c.C).Get(`Title`)
if c.C.Roomid == roomid && c.C.Title != oldTitle {
+ setTitle(c.C.Title)
var sh = []any{"房间改变", c.C.Title}
Gui_show(Itos(sh), "0room")
msglog.Base_add("房").L(`I: `, sh...)
return
}
+ setTitle(type_item.Data.Title)
var sh = []any{"房间改变", type_item.Data.Title, type_item.Data.AreaName}
Gui_show(Itos(sh), "0room")
msglog.Base_add("房").L(`I: `, sh...)
}
// 指定弹幕重启录制
if _, err := danmuReLiveTriger.Init.Run(mainCtx, danmuReLiveTriger.DanmuReLiveTriger{
- StreamCut: reply.StreamOCut,
- C: c.C,
+ StreamCut: func(i int, title ...string) {
+ reply.StreamOCut(i)(title[0])
+ },
+ C: c.C,
}); err != nil {
danmulog.Base("功能", "指定弹幕重启录制").L(`E: `, err)
}