فهرست منبع

fix(asr): 修复语音识别结果处理逻辑

- 修改了部分识别结果的处理方式,从覆盖改为追加模式
- 在最终结果处理中同步更新当前识别中间结果
- 修复了日志输出中的变量引用错误
- 确保语音识别流程中的文本传递一致性
徐勤民 17 ساعت پیش
والد
کامیت
1ec9d8e917
1فایلهای تغییر یافته به همراه5 افزوده شده و 4 حذف شده
  1. 5 4
      app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt

+ 5 - 4
app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt

@@ -113,18 +113,19 @@ object AsrHelper : OfflineCmdListener {
 
             override fun onPartialResult(taskId: String, text: String) {
                 // 滚动更新当前识别中间结果
-                currentPartial = text
+                currentPartial += text
                 Log.d(TAG, "ASR partial: $text")
             }
 
             override fun onFinalResult(taskId: String, text: String) {
                 // 将最终结果追加拼接到会话字符串
                 sessionBuilder.append(text)
-                val fullText = sessionBuilder.toString()
                 isMicRunning = false
-                Log.d(TAG, "ASR final result: $fullText")
+                // 滚动更新当前识别中间结果
+                currentPartial += text
+                Log.d(TAG, "ASR final result: $currentPartial")
                 IntentRecognizeHelper.recognize(
-                    text = fullText,
+                    text = currentPartial,
                     scence = scene,
                     onSuccess = { action ->
                         if (action.name == "goToDecisionCenter") {