Browse Source

修改讯飞语音识别

weicu
tanlongsheng 10 months ago
parent
commit
1a6dff7d07
  1. 2
      local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureAsrHelper.kt
  2. 21
      local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt

2
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

21
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++
// }
// }
}
}

Loading…
Cancel
Save