From 0e67ae4d44066b58bbfb6882ccac151db29ae734 Mon Sep 17 00:00:00 2001 From: qydysky <32743305+qydysky@users.noreply.github.com> Date: Sat, 15 Oct 2022 22:01:22 +0800 Subject: [PATCH] =?utf8?q?=E9=81=BF=E5=85=8D=E9=87=8D=E5=A4=8D=E5=BD=95?= =?utf8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Reply/F.go | 13 +++++++++---- Reply/Msg.go | 1 + Reply/stream.go | 24 +++++++++++++++++++----- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/Reply/F.go b/Reply/F.go index 04fac28..76788ba 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -291,14 +291,19 @@ func init() { ) common.Roomid = item.Roomid tmp.LoadConfig(common, c.C.Log) - //关于ass的回调 - tmp.Callback_start = func(ms *M4SStream) { - streamO.Store(ms.common.Roomid, tmp) //流服务添加 + //录制回调,关于ass + tmp.Callback_startRec = func(ms *M4SStream) { Ass_f(ms.Current_save_path, ms.Current_save_path+"0", time.Now()) //开始ass } + tmp.Callback_stopRec = func(ms *M4SStream) { + Ass_f("", "", time.Now()) //停止ass + } + //实例回调,避免重复录制 + tmp.Callback_start = func(ms *M4SStream) { + streamO.Store(ms.common.Roomid, tmp) //流服务添加 + } tmp.Callback_stop = func(ms *M4SStream) { streamO.Delete(ms.common.Roomid) //流服务去除 - Ass_f("", "", time.Now()) //停止ass } if tmp.Start() { streamO.Store(item.Roomid, tmp) diff --git a/Reply/Msg.go b/Reply/Msg.go index 317c00d..53b5b71 100644 --- a/Reply/Msg.go +++ b/Reply/Msg.go @@ -109,6 +109,7 @@ var Msg_map = map[string]func(replyF, string){ "LIKE_INFO_V3_UPDATE": nil, //为主播点赞了总个数 "USER_TASK_PROGRESS": nil, "LITTLE_TIPS": replyF.little_tips, //小提示窗口 + "LIKE_INFO_V3_NOTICE": nil, } // 屏蔽不需要的消息 diff --git a/Reply/stream.go b/Reply/stream.go index d47f0a4..5bba66f 100644 --- a/Reply/stream.go +++ b/Reply/stream.go @@ -45,8 +45,10 @@ type M4SStream struct { last_m4s *m4s_link_item //最后一个切片 common c.Common //通用配置副本 Current_save_path string //明确的直播流保存目录 - Callback_start func(*M4SStream) //开始的回调 - Callback_stop func(*M4SStream) //结束的回调 + Callback_start func(*M4SStream) //实例开始的回调 + Callback_startRec func(*M4SStream) //录制开始的回调 + Callback_stopRec func(*M4SStream) //录制结束的回调 + Callback_stop func(*M4SStream) //实例结束的回调 reqPool *idpool.Idpool //请求池 } @@ -432,9 +434,13 @@ func (t *M4SStream) saveStream() (e error) { t.log.L(`I: `, "流地址:", v) } - //开始,结束回调 - t.Callback_start(t) - defer t.Callback_stop(t) + // 录制回调 + if t.Callback_startRec != nil { + t.Callback_startRec(t) + } + if t.Callback_stopRec != nil { + defer t.Callback_stopRec(t) + } // 获取流 switch t.stream_type { @@ -803,6 +809,14 @@ func (t *M4SStream) Start() bool { go func() { defer t.Status.Done() + // 实例回调 + if t.Callback_start != nil { + t.Callback_start(t) + } + if t.Callback_stop != nil { + defer t.Callback_stop(t) + } + t.log.L(`I: `, `初始化录制(`+strconv.Itoa(t.common.Roomid)+`)`) // 初始化请求池 -- 2.39.2