v0.3 — 转录稳定性全面提升
🎙️ 转录体验大幅改善
本版本集中修复了实时转录模块的多项问题,显著提升了录制稳定性与转录结果的准确性。
✨ 新功能 & 改进
- 录制立即响应:点击"开始录制/继续录制"后 UI 立即切换为录制状态,不再等待 STT 服务器握手(原来会卡顿 300–800ms)
- 转录条目状态标签:实时转录条目现在显示「识别中」徽标,低置信度结果显示「低置信」徽标,状态一目了然
- 智能自动滚动:转录列表仅在用户停留在底部时自动滚动,不再打断手动翻阅历史记录
🐛 Bug 修复
- 修复短文本 interim 永久残留:「花小」「珠宝」等 2–3 字的识别中条目在被最终结果覆盖后无法清除的问题
- 修复相同时间点 interim 重复堆积:同一时间点的识别中条目因无法去重而在列表中重复出现
- 修复单时间点 interim 被已提交 final 覆盖后仍显示的问题:Doubao STT 在同一次回包中同时下发 final 和 interim 时,interim 不再错误入库
- 修复停止录制后「识别中」内容残留:结束录制时立即清除所有非最终识别条目,不再等到下次录制才消失
- 修复 AVAudioEngine 配置变更后采集静默:连接外设或切换音频路由后,录制不再意外中断
- 修复系统睡眠时未停止录制:合盖/睡眠时自动停止录制并提示用户
- 修复 STT 重试耗尽后无限等待:网络持续异常时,重试耗尽后主动停止录制并给出明确错误提示
- 扩展网络错误识别范围:timeout、unreachable、connection lost 等更多网络层错误现在可触发自动重连
🔧 内部优化
- 转录累积器(TranscriptUpdateAccumulator)逻辑精简回归稳定基线,移除过度复杂的跨源去重逻辑
- DoubaoSTTProvider URLSession 改为长生命周期单例,避免频繁连接的内存泄漏
- 修复音频序列号溢出时
abs()整数溢出崩溃