问题语音输入功能使用getRecorderManager()voiceToText()实现用户说完话点击「完成」后弹窗卡死转圈动画不停按钮无法点击只能重启小程序。原因异步链路过长stop → onStop → readFile → voiceToText → resetState任何一个环节断裂如onStop不触发、readFile失败、voiceToText挂起resetState()都不会执行UI 永远停留在转换中状态。解决方案将getRecorderManager()voiceToText()替换为一体化管理器getRecordRecognitionManager()。核心改动javascript// 旧方式有问题 recorderManager uni.getRecorderManager(); pluginManager requirePlugin(WechatSI); // 需要手动stop → onStop → readFile → voiceToText → resetState // 新方式修复 const plugin requirePlugin(WechatSI); recordRecoManager plugin.getRecordRecognitionManager(); recordRecoManager.onStop (res) { // 识别结果直接在这里无需 readFile 和额外调用 if (res res.result) { formData.value.content res.result; } resetRecordState(); // 确保状态被重置 };效果对比对比项旧方式新方式异步链路长度5 步2 步文件 I/O需要 readFile无需回调保证可能丢失onStop/onError 必触发UI 卡死风险高无