Browse Source

上传优化代码

newdev_shunjiawei
liwei1dao 12 months ago
parent
commit
fe31c1d5f5
  1. 30
      local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift
  2. 6
      local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureSpeechPlugin.swift
  3. 2
      local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/OpusAudioManager.kt
  4. 2
      local_plugins/ble_service/ios/ble_service/Sources/ble_service/SwiftOpusAudioProcessor.swift
  5. 2
      local_plugins/chat_api/ios/chat_api/Sources/chat_api/SystemFunctionHandler.swift

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

@ -182,6 +182,14 @@ class AgentServiceImpl: NSObject {
self.callingTool = callingTool self.callingTool = callingTool
} }
//加载 isInterrupt 状态
loadIsInterruptFromCache()
if let isttsinterrupt = config["isttsinterrupt"] as? String {
if (isttsinterrupt == "true"){
self.isInterrupt = true
}
}
if let serverurl = config["serverurl"] as? String { if let serverurl = config["serverurl"] as? String {
self.serverurl = serverurl self.serverurl = serverurl
} }
@ -256,8 +264,7 @@ class AgentServiceImpl: NSObject {
if isInitialized { if isInitialized {
loadChatHistory() loadChatHistory()
// 从 UserDefaults 加载 isInterrupt 状态
loadIsInterruptFromCache()
} }
LocationService.shared.getCurrentLocation() { location in LocationService.shared.getCurrentLocation() { location in
// self.locationInfo = location // self.locationInfo = location
@ -552,7 +559,7 @@ class AgentServiceImpl: NSObject {
return false return false
} }
guard let audioStream = azureAsrHelper?.audioStream else { guard let audioStream = azureAsrHelper?.audioStream else {
os_log("AI音频流未初始化", log: logger,type: .error) // os_log("AI音频流未初始化", log: logger,type: .error)
return false return false
} }
audioStream.saveAudioDataTo(data: audioData) audioStream.saveAudioDataTo(data: audioData)
@ -1787,10 +1794,10 @@ class ChatApiStreamCallback: StreamCallback {
print("onFunctionCall=functionCall\(functionCall)") print("onFunctionCall=functionCall\(functionCall)")
if (name == "exit_interaction") { if (name == "exit_interaction") {
// 关闭编码器 (设备侧) // 关闭编码器 (设备侧)
BleService.shared.closeCodec() BleService.shared.closeCodec()
agentService.stopRecognition() agentService.stopRecognition()
} }
try agentService.sendEvent(name: "function_call", data: [ try agentService.sendEvent(name: "function_call", data: [
"sessionid":sessionid, "sessionid":sessionid,
@ -1870,7 +1877,7 @@ extension AgentServiceImpl: TtsEventListener {
restartIdleCheck() restartIdleCheck()
sendEvent(name: "tts_started", data: ["status": "started"]) sendEvent(name: "tts_started", data: ["status": "started"])
audioPlayer?.stopAwaitSound() audioPlayer?.stopAwaitSound()
case .synthesisCompleted: case .synthesisCompleted:
isSpeaking = false isSpeaking = false
restartIdleCheck() restartIdleCheck()
@ -1880,10 +1887,13 @@ extension AgentServiceImpl: TtsEventListener {
restartIdleCheck() restartIdleCheck()
sendEvent(name: "playback_started", data: ["status": "playback_started"]) sendEvent(name: "playback_started", data: ["status": "playback_started"])
MusicService.shared.reduceVolume() MusicService.shared.reduceVolume()
if(isInterrupt){ //播报开始。打断唤醒输入
BleService.shared.closeCodec()
}
case .playbackCompleted: case .playbackCompleted:
restartIdleCheck() restartIdleCheck()
if(isInterrupt){ if(isInterrupt){//播报结束。打开解码器
BleService.shared.openB1Encoder() BleService.shared.openB1Encoder()
} }
sendEvent(name: "playback_completed", data: ["status": "playback_completed"]) sendEvent(name: "playback_completed", data: ["status": "playback_completed"])
MusicService.shared.restoreVolume() MusicService.shared.restoreVolume()

6
local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureSpeechPlugin.swift

@ -376,7 +376,7 @@ private func sendAstEvent(_ event: [String: Any]) {
// 安全解包版本 // 安全解包版本
guard let audioStream = azureAsrHelper.audioStream else { guard let audioStream = azureAsrHelper.audioStream else {
os_log("音频流未初始化", type: .error) // os_log("音频流未初始化", type: .error)
return return
} }
print("liwei----------外部音频推送:\(audioBytes.data.count)") print("liwei----------外部音频推送:\(audioBytes.data.count)")
@ -986,7 +986,7 @@ extension AzureSpeechPlugin: BleService.Callback {
} }
// 安全解包版本 // 安全解包版本
guard let audioStream = azureAsrHelper.audioStream else { guard let audioStream = azureAsrHelper.audioStream else {
os_log("音频流未初始化", type: .error) // os_log("音频流未初始化", type: .error)
return return
} }
azureAsrHelper.audioStream?.saveAudioDataTo(data: data) azureAsrHelper.audioStream?.saveAudioDataTo(data: data)
@ -1030,7 +1030,7 @@ extension AzureSpeechPlugin: BleService.Callback {
// 安全解包版本 // 安全解包版本
guard let audioStream = azureAsrHelper.audioStream else { guard let audioStream = azureAsrHelper.audioStream else {
os_log("音频流未初始化", type: .error) // os_log("音频流未初始化", type: .error)
return return
} }
azureAsrHelper.audioStream?.saveAudioDataTo(data: rightBuffer) azureAsrHelper.audioStream?.saveAudioDataTo(data: rightBuffer)

2
local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/OpusAudioManager.kt

@ -241,7 +241,7 @@ class OpusAudioManager {
if (channelCount >= 1) { if (channelCount >= 1) {
callback?.onAudioDataDecoded(data, channelCount) callback?.onAudioDataDecoded(data, channelCount)
} else { } else {
Log.e(TAG, "Opus解码数据错误: ${data.size} bytes") // Log.e(TAG, "Opus解码数据错误: ${data.size} bytes")
} }
} }
} }

2
local_plugins/ble_service/ios/ble_service/Sources/ble_service/SwiftOpusAudioProcessor.swift

@ -282,7 +282,7 @@ class SwiftOpusAudioProcessor: NSObject {
return return
} }
print("Opus解码数据: \(data.count) bytes, 声道数: \(channels)") // print("Opus解码数据: \(data.count) bytes, 声道数: \(channels)")
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
self?.callback?.onAudioDataReceived(data: data, channel: self?.channels ?? 0) self?.callback?.onAudioDataReceived(data: data, channel: self?.channels ?? 0)
} }

2
local_plugins/chat_api/ios/chat_api/Sources/chat_api/SystemFunctionHandler.swift

@ -195,7 +195,7 @@ public class SystemFunctionHandler: NSObject {
let handler = GetContactsHandler() let handler = GetContactsHandler()
_ = client.registerLocalFunction( _ = client.registerLocalFunction(
name: "get_contacts", name: "get_contacts",
description: "获取通讯录中的所有联系人", description: "获取联系人列表,读取通讯录信息,联系人名称和电话",
parameters: parameters, parameters: parameters,
handler: handler handler: handler
) )

Loading…
Cancel
Save