|
|
6d23c1704f
|
fix(audio): 移除 Resampler 测试代码并优化停滞检测
ci/woodpecker/tag/woodpecker Pipeline was successful
通过测试确认 Resampler 和 WAV 解码正常工作,移除测试代码:
- 移除手动读取 Resampler 的测试代码(测试读取会破坏 Resampler 内部状态)
- 优化停滞检测逻辑:只有在已经开始播放后才报告停滞
- 修复语法错误(多余的闭合括号)
测试表明 Resampler 本身工作正常,数据读取成功。现在移除测试代码,
观察是否能正常播放完整音频。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 17:11:47 +08:00 |
|
|
|
b5f7c823c8
|
debug(audio): 添加 Resampler 数据读取测试
ci/woodpecker/tag/woodpecker Pipeline was successful
为诊断 TTS 音频播放停滞问题,添加手动测试代码验证 Resampler 是否能正常读取音频数据:
- 在 speaker.Play() 前尝试从 Resampler 读取 10 个样本
- 打印读取状态和样本数据,验证数据流是否正常
- 重新创建 Resampler 确保测试不影响正常播放
此调试代码用于确认问题是在 Resampler/WAV 解码层,还是在 speaker/mixer 层
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 16:59:13 +08:00 |
|
|
|
cbccb07398
|
feat(audio): 添加音频播放进度监控和停滞检测
为诊断 TTS 音频播放卡死问题,在 PlayWav 函数中添加实时播放进度监控:
- 每秒打印当前播放位置、进度百分比和播放时间
- 检测播放停滞(位置不变时打印警告)
- 改进日志输出,显示总样本数和预计时长
- 移除 select case 中的多余花括号
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 16:38:35 +08:00 |
|
|
|
bee3b98798
|
refactor(tts): 删除 errorsx 包,使用标准库错误处理
## 变更内容
### 1. 删除 errorsx 包
- 删除 pkg/errorsx/handler.go(未使用)
- 删除 pkg/errorsx/error.go(无意义的常量)
### 2. 使用标准库错误处理
- 移除 "game-driver/pkg/errorsx" 导入
- 用 fmt.Errorf 替换所有 errorsx.XxxErr
- 错误信息更清晰,保留完整上下文
### 3. 改进前后对比
```go
// 之前
return errorsx.ThirdPartyErr // ❌ 上下文丢失
// 现在
return fmt.Errorf("获取Token失败: %s", resultMessage.ErrMsg) // ✅ 完整上下文
```
## 优势
✅ 错误信息包含完整上下文
✅ 减少一个自定义包
✅ 使用标准库,更优雅
✅ 代码行数减少:166 → 161 行
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 14:10:41 +08:00 |
|
|
|
e4c34f0eec
|
refactor(tts): TTS 极简重构与代码质量提升
## 核心改进
### TTS 模块重构
- 统一 API,仅保留 Sound(ctx, text) 方法
- 优化日志,添加 [TTS] 前缀和结构化字段
- 实现互斥等待:同时只播放一个,新请求等待旧播放完成
- 响应 context 取消:超时或断开时立即停止播放
- 移除全局 context 存储,改为参数传递
- 简化实例化:New(config) 无需传入 context
### 代码质量提升
- 修复 PlayWav/PlayMP3 的死循环 bug(context 取消时缺少 return)
- 修复 standby_ctrl/pause.go 的忙循环(添加 Sleep 避免CPU 100%)
- 添加关键路径错误传播(only_video.go 不再忽略播放错误)
- 新增 pkg/errorsx/handler.go 统一错误处理工具
## 代码优化
- TTS 代码从 234 行精简到 166 行(减少 29%)
- 移除冗余状态管理(playing 标志、等待循环)
- 利用互斥锁的阻塞特性实现优雅等待
- 保持简洁易读的代码风格
## 行为说明
✅ 同时只能播放一个 TTS(互斥)
✅ 新请求等待当前播放完成(不打断)
✅ 响应 context 取消(超时停止)
✅ 日志完善,便于排查问题
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 14:05:16 +08:00 |
|
|
|
2331d0c73f
|
fix(tts): 修复 TTS 播放卡死问题并增强日志
ci/woodpecker/tag/woodpecker Pipeline was successful
- 添加 SoundWithContext 方法,使用请求 context 而非全局 context
- 修复 TTS 使用服务器全局 context 导致无法取消的问题
- 添加详细的诊断日志(解码、播放、TTS 合成各阶段)
- 检测并记录 TTS 合成数据为空的情况
修复前 TTS 播放使用全局 context,当播放卡住时无法通过超时
或取消机制中断,导致后续任务永远无法执行。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 12:07:39 +08:00 |
|
|
|
5ee8e15965
|
fix(audio): 修复音频播放死循环并增强错误日志
ci/woodpecker/tag/woodpecker Pipeline was successful
- 修复 PlayWav 和 PlayMP3 在 context 取消时的死循环 bug
- 添加 WAV/MP3 解码失败的错误日志
- 添加 TTS 播放开始/完成的日志,便于排查问题
修复前 context 取消会导致无限循环,阻塞后续任务执行。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-08 11:34:27 +08:00 |
|
|
|
4349413887
|
refactor(utils): 禁用屏幕开关并优化 xset 查找逻辑
- 注释掉所有 BlankOpen/BlankClose 调用,启动不再关屏
- 将 xset 路径查找改为 init + sync.Once 缓存,避免重复执行
- 清理未使用的 utils 导入
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
|
2026-04-07 16:52:33 +08:00 |
|
|
|
2d5d3919e2
|
降级日志
|
2025-09-26 16:48:11 +08:00 |
|
|
|
e1384504f1
|
增加待机报文缓存,无网状态也能执行待机任务;投影仪指令结果以设备状态为准
|
2025-04-29 13:48:35 +08:00 |
|
|
|
752446e502
|
激光联动控制完成
|
2025-03-12 19:13:35 +08:00 |
|
|
|
febcdfdbf7
|
mqtt加入认证,优化视频播放与浏览器
|
2025-03-07 16:04:19 +08:00 |
|
|
|
c71e8bc13d
|
修复投影仪控制
|
2025-03-05 11:03:19 +08:00 |
|
|
|
53d9df6e0a
|
用 vlc 替换 ffplay 的播放方式用来修复视频播放问题
|
2025-03-01 13:28:57 +08:00 |
|
|
|
81f31f15a5
|
加入 pjlink 控制
|
2025-02-28 20:34:50 +08:00 |
|
|
|
3a2fc431ac
|
加入等待继电器释放,加入程序停止执行时释放所有资源
|
2025-02-28 17:05:07 +08:00 |
|
|
|
f251df5ce3
|
稳定发布1.0.0
|
2025-02-27 17:41:14 +08:00 |
|
|
|
8780f8555e
|
解决部分已知bug
|
2025-02-27 11:36:40 +08:00 |
|
|
|
593d7758bf
|
播放游戏时,停止待机任务
|
2025-02-26 19:45:47 +08:00 |
|
|
|
8b080a8081
|
优化提示
|
2025-01-08 10:46:29 +08:00 |
|
|
|
1fdf111b86
|
熄屏问题修复
|
2024-12-30 18:21:08 +08:00 |
|
|
|
8aa502b734
|
浏览器打开页面隐藏滚动条
|
2024-12-30 14:44:42 +08:00 |
|
|
|
ff97e25a55
|
完善背光控制,优先使用 xset 控制。完成浏览器展示
|
2024-12-30 12:16:10 +08:00 |
|
|
|
c4f12f8cca
|
适配继电器空的情况
|
2024-12-19 16:44:58 +08:00 |
|
|
|
b4913d63b3
|
规范串口通讯
|
2024-12-19 10:49:02 +08:00 |
|
|
|
df9dbb0926
|
继电器、读卡器,都用统一的modbus协议
|
2024-12-12 10:30:21 +08:00 |
|
|
|
25cb34f6f5
|
发卡关卡的读卡流程完成
|
2024-12-10 17:40:59 +08:00 |
|
|
|
37fb40672a
|
初步完成龙台的读卡逻辑
|
2024-12-09 18:28:36 +08:00 |
|
|
|
aa634c8860
|
音色可配置
|
2024-11-26 17:51:40 +08:00 |
|
|
|
480e9ab6d5
|
初步完成接收发卡报文
|
2024-11-19 18:34:38 +08:00 |
|
|
|
6ee3a6fc11
|
优化视频的输出
|
2024-11-13 17:39:23 +08:00 |
|
|
|
28291598bb
|
完成日志输出到文件、终端多处的处理
|
2024-11-13 16:11:59 +08:00 |
|
|
|
9b643f4352
|
对点位进行锁定
|
2024-11-13 11:25:37 +08:00 |
|
|
|
cc12b60437
|
优化全局zap的打印,修复待机任务出现多个的情况
|
2024-11-12 14:47:20 +08:00 |
|
|
|
355880c3f9
|
优化zap
|
2024-11-11 18:51:39 +08:00 |
|
|
|
edb8d30605
|
全面替换log为zap
|
2024-11-08 18:42:13 +08:00 |
|
|
|
3da1fe761e
|
屏幕控制完成
|
2024-11-08 16:15:12 +08:00 |
|
|
|
660ae1326f
|
前三个点位所有功能已调通
|
2024-11-08 15:37:36 +08:00 |
|
|
|
ab0678aa3b
|
待机功能基本实现
|
2024-11-06 15:44:35 +08:00 |
|
|
|
ccfe0d311b
|
对接阿里语音合成证书
|
2024-11-05 14:52:11 +08:00 |
|
|
|
f9b9beea4b
|
基本逻辑完成
|
2024-11-01 17:40:34 +08:00 |
|