From 93a8838c3dd33fbe8a287d37d883a6ac45d95a9a Mon Sep 17 00:00:00 2001 From: fdp <1286779656@qq.com> Date: Sat, 30 Aug 2025 23:27:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=BA=A6=E8=B5=B7=E6=9D=A5?= =?UTF-8?q?=E4=BA=86=E3=80=82=E8=AF=86=E5=88=AB=E5=99=A8=E6=B2=A1=E8=B5=B7?= =?UTF-8?q?=E6=9D=A5=E3=80=82=E5=AF=BC=E8=87=B4=E5=85=B3=E9=97=AD=E4=B8=8D?= =?UTF-8?q?=E4=BA=86=E9=BA=A6=E5=85=8B=E9=A3=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/azure_speech/AzureAsrHelper.swift | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift b/local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift index 3254e8a26..0f05370d8 100644 --- a/local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift +++ b/local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift @@ -433,16 +433,10 @@ public class AzureAsrHelper: NSObject { os_log("语音服务未初始化", log: log, type: .error) return false } - guard let recognizer = recognizer else { - os_log("识别器为空,重置状态", log: log, type: .info) - // 仍需取消潜在的挂起启动任务,避免稍后被触发 - cancelPendingAudioStart() - return true - } + do { - // 关键:取消尚未执行的启动任务,防止 stop 后音频又被启动 cancelPendingAudioStart() @@ -457,7 +451,12 @@ public class AzureAsrHelper: NSObject { os_log("音频停止失败", log: self.log, type: .error) } } - + guard let recognizer = recognizer else { + os_log("识别器为空,重置状态", log: log, type: .info) + // 仍需取消潜在的挂起启动任务,避免稍后被触发 + cancelPendingAudioStart() + return true + } // 停止连续识别 try recognizer.stopContinuousRecognition() self.recognizer = nil @@ -480,6 +479,12 @@ public class AzureAsrHelper: NSObject { // 尝试安全地停止识别器 do { + guard let recognizer = recognizer else { + os_log("识别器为空,重置状态", log: log, type: .info) + // 仍需取消潜在的挂起启动任务,避免稍后被触发 + cancelPendingAudioStart() + return true + } try recognizer.stopContinuousRecognition() self.recognizer = nil } catch {