|
|
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): 调整中间件执行顺序和代码格式化
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 |
|