From cfedd104f1181ff3807cbb7fa9618e2e5b3cf29d Mon Sep 17 00:00:00 2001 From: fdp <1286779656@qq.com> Date: Mon, 18 Aug 2025 18:59:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=81=9C=E6=AD=A2=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E8=AF=86=E5=88=AB=E7=8A=B6=E6=80=81=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/translation_controller.dart | 10 ++++----- .../azure_speech/AzureAsrHelper.kt | 21 ++++--------------- .../azure_speech/AzureSpeechPlugin.kt | 7 ++++--- 3 files changed, 13 insertions(+), 25 deletions(-) diff --git a/lib/modules/translation/controllers/translation_controller.dart b/lib/modules/translation/controllers/translation_controller.dart index 7041f4c6a..baab8e8e1 100644 --- a/lib/modules/translation/controllers/translation_controller.dart +++ b/lib/modules/translation/controllers/translation_controller.dart @@ -572,11 +572,11 @@ class TranslationController extends GetxController { } Future _startAsrService() async { - if (bluetoothManager.currentDeviceRx.value != null) { - restoreOriginalAudioState(); - } else { - disableBluetoothAudio(); - } + // if (bluetoothManager.currentDeviceRx.value != null) { + // restoreOriginalAudioState(); + // } else { + // disableBluetoothAudio(); + // } await _asrService.startContinuousRecognition(_audioSourceType); } 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 8f1a75393..0f783813a 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 @@ -487,9 +487,9 @@ class AzureAsrHelper(private val context: Context) { return false } - if (!isContinuousRecognitionActive) { - return true - } + // if (!isContinuousRecognitionActive) { + // return true + // } try { @@ -884,20 +884,7 @@ class AzureAsrHelper(private val context: Context) { } setupEventListeners(callback) - // 重新启动音频处理 - if (audioStream?.isWriting() != true) { - audioStream?.startAudioRecord( - when (audioSourceType) { - AudioSourceType.MICROPHONE -> SimpleAudioReceiver.AudioSourceType.MICROPHONE - AudioSourceType.EXTERNAL -> SimpleAudioReceiver.AudioSourceType.EXTERNAL - }, - null - ) - } - - // 重新启动连续识别 - recognizer?.startContinuousRecognitionAsync() - + isNetworkRecovering = false Log.d(tag, "连续识别重新启动成功") diff --git a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureSpeechPlugin.kt b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureSpeechPlugin.kt index a7ba1e1ca..2dcd4ff58 100644 --- a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureSpeechPlugin.kt +++ b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/AzureSpeechPlugin.kt @@ -256,10 +256,11 @@ class AzureSpeechPlugin : BleService.Callback, FlutterPlugin { } - override fun onError(error: String) { + override fun onError(code: Int, error: String) { sendAsrEvent( mapOf( "type" to "error", + "code" to code, "message" to error ) ) @@ -386,8 +387,8 @@ class AzureSpeechPlugin : BleService.Callback, FlutterPlugin { ) } - override fun onError(error: String) { - result.error("RECOGNITION_ERROR", error, null) + override fun onError(code: Int, error: String) { + result.error(code.toString(), "错误码: $code, 错误信息: $error", null) } }, audioSourceType) } catch (e: Exception) {