Browse Source

Revert "fix(语音识别): 修复从蓝牙唤醒模式切换时编码器未关闭的问题"

This reverts commit e3f0f9bccd.
weicu
lxm 9 months ago
parent
commit
f7e6d8d130
  1. 19
      local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift

19
local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift

@ -103,7 +103,6 @@ class AgentServiceImpl: NSObject {
private let maxIdleSeconds: TimeInterval = 5 private let maxIdleSeconds: TimeInterval = 5
var micCapture: MicrophoneCapture! var micCapture: MicrophoneCapture!
// 语音识别模式 // 语音识别模式
private var lastRecognitionMode: String = "normal"
public var currentRecognitionMode: String = "normal" public var currentRecognitionMode: String = "normal"
// 识别结果 // 识别结果
private var recognitionResult = "" private var recognitionResult = ""
@ -489,7 +488,7 @@ class AgentServiceImpl: NSObject {
startIdleCheckForMode(mode: currentRecognitionMode) startIdleCheckForMode(mode: currentRecognitionMode)
} }
} }
func startRecognition(useBle: Bool = false, mode: String = "normal") -> Bool { func startRecognition(useBle: Bool = false, mode: String = "normal") -> Bool {
// 接收到唤醒信号,打开编码器 (设备侧) // 接收到唤醒信号,打开编码器 (设备侧)
print("ai启动语音\(useBle))") print("ai启动语音\(useBle))")
var openResult = false // 添加openResult变量定义 var openResult = false // 添加openResult变量定义
@ -509,11 +508,6 @@ class AgentServiceImpl: NSObject {
return false return false
} }
} }
lastRecognitionMode = currentRecognitionMode
if (lastRecognitionMode == "ble_wakeup" && mode != "ble_wakeup"){//之前是唤醒模式,现在不是唤醒模式
os_log("liwei------- 关闭唤醒通道", log: logger, type: .info)
BleService.shared.closeCodec()
}
stopRecognition() stopRecognition()
if isAiStreaming { if isAiStreaming {
isAiStreaming = false isAiStreaming = false
@ -535,6 +529,13 @@ class AgentServiceImpl: NSObject {
os_log("liwei--------------- 设置语音识别模式: %{public}@", log: logger, type: .info, mode) os_log("liwei--------------- 设置语音识别模式: %{public}@", log: logger, type: .info, mode)
let audioSourceType: AzureAsrHelper.AudioSourceType = useBle ? .external : .microphone let audioSourceType: AzureAsrHelper.AudioSourceType = useBle ? .external : .microphone
if useBle {
// AudioSessionHub.shared.begin(.playback)
} else {
//AudioSessionHub.shared.begin(.voice)
}
// 新增:标记为"启动中",用于允许 stop 在启动未完成时也能生效 // 新增:标记为"启动中",用于允许 stop 在启动未完成时也能生效
isStartingRecognition = true isStartingRecognition = true
@ -550,8 +551,8 @@ class AgentServiceImpl: NSObject {
return false return false
} }
if(useBle){ if(useBle){
isKeepResult = true isKeepResult = true
} }
// 根据模式启动相应的空闲检测(此处 guard isRecognizing,会在 onSessionStarted 中再次启动) // 根据模式启动相应的空闲检测(此处 guard isRecognizing,会在 onSessionStarted 中再次启动)
startIdleCheckForMode(mode: mode) startIdleCheckForMode(mode: mode)

Loading…
Cancel
Save