Browse Source

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

This reverts commit e3f0f9bccd.
newdev_shunjiawei
lxm 9 months ago
parent
commit
5d967375a2
  1. 23
      local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift

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

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

Loading…
Cancel
Save