From 1a6dff7d078ae93aea6827503ff302e93120a425 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Wed, 10 Dec 2025 11:20:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=AF=E9=A3=9E=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../azure_speech/AzureAsrHelper.kt | 2 +- .../azure_speech/XunFeiAsrHelper.kt | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt index 793193be7..a7fc47c20 100644 --- a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt +++ b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt @@ -114,7 +114,7 @@ class AzureAsrHelper(private val context: Context) { this.supportedLanguages = supportedLanguages } - this.useXunfei = supportedLanguages.any { it == "zh-CN" || it == "en-US" } + this.useXunfei = supportedLanguages.all { it == "zh-CN" || it == "en-US" } // 根据支持的语言数量决定是否启用自动语言检测 this.isAutoDetectLanguage = supportedLanguages.size >= 2 diff --git a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt index 7a5450452..80326614b 100644 --- a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt +++ b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt @@ -143,15 +143,32 @@ class XunFeiAsrHelper(private val context: Context) { for (k in 0 until ws.length()) { val kObj = ws.getJSONObject(k) val cw = kObj.optJSONArray("cw") ?: continue + // 如果resultTextTemp中第一个文字是标点符号,则去除第一个文字的标点符号 for (l in 0 until cw.length()) { val lObj = cw.getJSONObject(l) - resultTextTemp += lObj.optString("w") - if (lObj.optString("wp") == "p") { + val w = lObj.optString("w") + val wp = lObj.optString("wp") + + if (wp == "p") { punctuationCount++ + if (resultTextTemp.isEmpty()) { + continue + } } else { wordCount++ } + resultTextTemp += w } + // 不去除resultTextTemp第一个文字的标点符号 + // for (l in 0 until cw.length()) { + // val lObj = cw.getJSONObject(l) + // resultTextTemp += lObj.optString("w") + // if (lObj.optString("wp") == "p") { + // punctuationCount++ + // } else { + // wordCount++ + // } + // } } }