From 1f527dce9831229b7413883f8926e213913be41a Mon Sep 17 00:00:00 2001 From: mapleafgo Date: Wed, 8 Apr 2026 16:39:36 +0800 Subject: [PATCH] =?UTF-8?q?refactor(middleware):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E4=BB=B6=E6=89=A7=E8=A1=8C=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=E5=92=8C=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 调整中间件执行顺序:将 TimeoutOver 移至 SoundStart 之前,确保超时检查在音频播放前生效 - 简化 BGM 停止逻辑:移除 select 语句中的多余花括号 - 修正导入顺序:将 sync 标准库导入置于第三方库之前 Co-Authored-By: Claude Sonnet 4.6 --- internal/middleware/bgm.go | 17 +++++++---------- internal/server.go | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/internal/middleware/bgm.go b/internal/middleware/bgm.go index 57376a2..f6f1b0f 100644 --- a/internal/middleware/bgm.go +++ b/internal/middleware/bgm.go @@ -5,9 +5,10 @@ import ( "game-driver/leaf" "game-driver/pkg/audio" "game-driver/pkg/utils" + "sync" + "github.com/gopxl/beep/v2/speaker" "go.uber.org/zap" - "sync" ) // PlayBgm 播放背景音乐 @@ -44,15 +45,11 @@ func PlayBgm() leaf.HandlerFunc { return } - select { - case <-a: - { - speaker.Lock() - ctrl.Streamer = nil - speaker.Unlock() - return - } - } + <-a + + speaker.Lock() + ctrl.Streamer = nil + speaker.Unlock() }() } else { zap.S().Infoln("未解析到背景音乐") diff --git a/internal/server.go b/internal/server.go index 3dce7b4..b02e586 100644 --- a/internal/server.go +++ b/internal/server.go @@ -143,9 +143,9 @@ func Run() { middleware.DeviceLock(device), middleware.PauseWait(common.PassCtrl), middleware.EmergencyStop(common.GlobalStopper), + middleware.TimeoutOver(config.C.MaxTimeout), middleware.SoundStart(), middleware.RelayMaster(r), - middleware.TimeoutOver(config.C.MaxTimeout), middleware.TickerAction(), middleware.PlayBgm(), routes.PlayRouter(ctx, config.C.Location, config.C.Point),