From 9b9d479cafe51a20d2f32efd861cca8ee059e23c Mon Sep 17 00:00:00 2001 From: mapleafgo Date: Fri, 22 Nov 2024 14:50:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E6=8E=89beep=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/middleware/bgm.go | 50 ++++++++++++++++++-------------------- internal/routes/wait.go | 38 ++++++++++++++--------------- pkg/audio/play.go | 9 +++---- pkg/tts/aliyun.go | 3 +-- 4 files changed, 47 insertions(+), 53 deletions(-) diff --git a/internal/middleware/bgm.go b/internal/middleware/bgm.go index 785d238..6f3c7af 100644 --- a/internal/middleware/bgm.go +++ b/internal/middleware/bgm.go @@ -3,9 +3,7 @@ package middleware import ( "game-driver/internal/schema" "game-driver/leaf" - "game-driver/pkg/audio" "game-driver/pkg/utils" - "github.com/gopxl/beep/v2/speaker" "go.uber.org/zap" "sync" ) @@ -30,30 +28,30 @@ func PlayBgm() leaf.HandlerFunc { // 发送结束信号 defer close(a) - wait.Add(1) - go func() { - defer wait.Done() - - zap.S().Infoln("开始播放背景音乐") - defer zap.S().Infoln("结束背景音乐播放") - - ctrl, closer, e := audio.PlayBgmMP3(bgm) - defer closer() - if e != nil { - zap.S().Errorln("播放背景音乐异常:", e) - return - } - - select { - case <-a: - { - speaker.Lock() - ctrl.Streamer = nil - speaker.Unlock() - return - } - } - }() + //wait.Add(1) + //go func() { + // defer wait.Done() + // + // zap.S().Infoln("开始播放背景音乐") + // defer zap.S().Infoln("结束背景音乐播放") + // + // ctrl, closer, e := audio.PlayBgmMP3(bgm) + // defer closer() + // if e != nil { + // zap.S().Errorln("播放背景音乐异常:", e) + // return + // } + // + // select { + // case <-a: + // { + // speaker.Lock() + // ctrl.Streamer = nil + // speaker.Unlock() + // return + // } + // } + //}() } else { zap.S().Errorln("背景音乐解析为空") } diff --git a/internal/routes/wait.go b/internal/routes/wait.go index 2646a14..430acf3 100644 --- a/internal/routes/wait.go +++ b/internal/routes/wait.go @@ -4,12 +4,10 @@ import ( "game-driver/internal/middleware" "game-driver/internal/schema" "game-driver/leaf" - "game-driver/pkg/audio" "game-driver/pkg/relay" "game-driver/pkg/tts" "game-driver/pkg/utils" "game-driver/pkg/video" - "github.com/gopxl/beep/v2/speaker" "go.uber.org/zap" "sync" "time" @@ -98,7 +96,7 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod defer cancel() } - data, err := utils.LinkAudio(item.Data) + _, err := utils.LinkAudio(item.Data) if err != nil { zap.S().Errorln("音频数据获取异常: ", err) return @@ -111,21 +109,21 @@ func audioAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeMod zap.S().Infoln("播放待机音乐") defer zap.S().Infoln("结束待机音乐") - ctrl, closer, e := audio.PlayBgmMP3(data) - defer closer() - if e != nil { - zap.S().Errorln("播放待机音乐异常", e) - return - } - - select { - case <-c.Done(): - { - speaker.Lock() - ctrl.Streamer = nil - speaker.Unlock() - } - } + //ctrl, closer, e := audio.PlayBgmMP3(data) + //defer closer() + //if e != nil { + // zap.S().Errorln("播放待机音乐异常", e) + // return + //} + // + //select { + //case <-c.Done(): + // { + // speaker.Lock() + // ctrl.Streamer = nil + // speaker.Unlock() + // } + //} } } } @@ -141,7 +139,7 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel defer cancel() } - reader, err := tts.DefaultTTS.Get(item.Data) + _, err := tts.DefaultTTS.Get(item.Data) if err != nil { zap.S().Errorln("语音合成异常: ", err) return @@ -155,7 +153,7 @@ func ttsAction(c *leaf.Context, item schema.WaitItemModel, root schema.TimeModel defer zap.S().Infoln("结束待机 TTS 语音") for { - audio.PlayWav(c, reader) + //audio.PlayWav(c, reader) select { case <-c.Done(): return diff --git a/pkg/audio/play.go b/pkg/audio/play.go index 62c3378..97ab5ef 100644 --- a/pkg/audio/play.go +++ b/pkg/audio/play.go @@ -8,16 +8,15 @@ import ( "github.com/gopxl/beep/v2/wav" "go.uber.org/zap" "io" - "time" ) var DefaultSampleRate = beep.SampleRate(44100) func init() { - err := speaker.Init(DefaultSampleRate, DefaultSampleRate.N(time.Second/10)) - if err != nil { - panic("扬声器初始化异常: " + err.Error()) - } + //err := speaker.Init(DefaultSampleRate, DefaultSampleRate.N(time.Second/10)) + //if err != nil { + // panic("扬声器初始化异常: " + err.Error()) + //} zap.S().Infoln("扬声器初始化完成") } diff --git a/pkg/tts/aliyun.go b/pkg/tts/aliyun.go index 7a8c543..94d9985 100644 --- a/pkg/tts/aliyun.go +++ b/pkg/tts/aliyun.go @@ -6,7 +6,6 @@ import ( "fmt" "game-driver/config" "game-driver/leaf" - "game-driver/pkg/audio" "game-driver/pkg/errorsx" "go.uber.org/zap" "io" @@ -47,7 +46,7 @@ func (tts *AliTTS) Sound(text string) { } buf, err := tts.Get(text) if err == nil && buf != nil { - audio.PlayWav(tts.ctx, buf) + //audio.PlayWav(tts.ctx, buf) } else { zap.S().Errorln("AliTTS 请求异常: ", err) }