12 Commits

Author SHA1 Message Date
788327047c feat(audio): 使用 oto/v3 重构音频播放系统,移除 beep/v2 依赖
核心变更:
- 实现全局 oto.Context 单例管理(sync.Once)
- 实现一次性播放:PlayWav/PlayMP3(支持 context 取消)
- 实现 BGM 循环播放:PlayMP3Loop(atomic.Bool + WaitGroup)
- 迁移所有业务层到新 API(TTS/BGM/待机音频)
- 添加完整的单元测试(6/6 通过)

技术栈:
- oto/v3 v3.3.2(低级音频播放)
- hajimehoshi/go-mp3 v0.3.4(MP3 解码)
- youpy/go-wav v0.3.2(WAV 解码)

移除依赖:
- gopxl/beep/v2 及所有相关依赖

优化:
- 流式播放,无需预先加载
- 并发安全,无竞态条件
- 资源管理清晰(defer cleanup)
- Sleep 间隔优化(1ms → 10ms,降低 CPU 占用)
2026-04-08 19:21:48 +08:00
1f527dce98 refactor(middleware): 调整中间件执行顺序和代码格式化
All checks were successful
ci/woodpecker/tag/woodpecker Pipeline was successful
- 调整中间件执行顺序:将 TimeoutOver 移至 SoundStart 之前,确保超时检查在音频播放前生效
- 简化 BGM 停止逻辑:移除 select 语句中的多余花括号
- 修正导入顺序:将 sync 标准库导入置于第三方库之前

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 16:39:36 +08:00
37fb40672a 初步完成龙台的读卡逻辑 2024-12-09 18:28:36 +08:00
28291598bb 完成日志输出到文件、终端多处的处理 2024-11-13 16:11:59 +08:00
9b643f4352 对点位进行锁定 2024-11-13 11:25:37 +08:00
9f40a7156e 修复停止的信号 2024-11-12 15:02:10 +08:00
cc12b60437 优化全局zap的打印,修复待机任务出现多个的情况 2024-11-12 14:47:20 +08:00
edb8d30605 全面替换log为zap 2024-11-08 18:42:13 +08:00
660ae1326f 前三个点位所有功能已调通 2024-11-08 15:37:36 +08:00
ab0678aa3b 待机功能基本实现 2024-11-06 15:44:35 +08:00
8e2bf7f59b 待机配置 2024-11-05 18:39:03 +08:00
f9b9beea4b 基本逻辑完成 2024-11-01 17:40:34 +08:00