Browse Source

修复麦起来了。识别器没起来。导致关闭不了麦克风

newdev_shunjiawei
fdp 1 year ago
parent
commit
93a8838c3d
  1. 21
      local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift

21
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) os_log("语音服务未初始化", log: log, type: .error)
return false return false
} }
guard let recognizer = recognizer else {
os_log("识别器为空,重置状态", log: log, type: .info)
// 仍需取消潜在的挂起启动任务,避免稍后被触发
cancelPendingAudioStart()
return true
}
do { do {
// 关键:取消尚未执行的启动任务,防止 stop 后音频又被启动 // 关键:取消尚未执行的启动任务,防止 stop 后音频又被启动
cancelPendingAudioStart() cancelPendingAudioStart()
@ -457,7 +451,12 @@ public class AzureAsrHelper: NSObject {
os_log("音频停止失败", log: self.log, type: .error) os_log("音频停止失败", log: self.log, type: .error)
} }
} }
guard let recognizer = recognizer else {
os_log("识别器为空,重置状态", log: log, type: .info)
// 仍需取消潜在的挂起启动任务,避免稍后被触发
cancelPendingAudioStart()
return true
}
// 停止连续识别 // 停止连续识别
try recognizer.stopContinuousRecognition() try recognizer.stopContinuousRecognition()
self.recognizer = nil self.recognizer = nil
@ -480,6 +479,12 @@ public class AzureAsrHelper: NSObject {
// 尝试安全地停止识别器 // 尝试安全地停止识别器
do { do {
guard let recognizer = recognizer else {
os_log("识别器为空,重置状态", log: log, type: .info)
// 仍需取消潜在的挂起启动任务,避免稍后被触发
cancelPendingAudioStart()
return true
}
try recognizer.stopContinuousRecognition() try recognizer.stopContinuousRecognition()
self.recognizer = nil self.recognizer = nil
} catch { } catch {

Loading…
Cancel
Save