Browse Source

修复通话翻译

newdev_shunjiawei
fdp 1 year ago
parent
commit
9e6bf300ed
  1. 14
      local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift
  2. 7
      local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/IntegratedSpeechTranslationService.swift
  3. 24
      local_plugins/azure_speech/ios/azure_speech/Sources/tools/SimpleAudioReceiver.swift

14
local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/AzureAsrHelper.swift

@ -203,7 +203,8 @@ public class AzureAsrHelper: NSObject {
*/
private func preInitializeAudioComponents() {
if audioStream == nil {
audioStream = SimpleAudioReceiver.shared
audioStream = SimpleAudioReceiver()
audioStream?.initAudioRecord()
}
// 预创建音频配置
if let pushStream = audioStream?.pushAudioStream {
@ -345,14 +346,14 @@ public class AzureAsrHelper: NSObject {
}
// 停止音频处理
//audioStream?.releaseAudioResources()
audioStream?.releaseAudioResources()
// 释放网络监听资源
networkMonitor.dispose()
// 释放资源
recognizer = nil
speechConfig = nil
audioConfig = nil
//audioStream = nil
audioStream = nil
// 确保状态被重置
_isContinuousRecognitionActive = false
//externalAudioStream = nil
@ -465,8 +466,8 @@ public class AzureAsrHelper: NSObject {
private func setupMicrophoneStream() {
// 只有在 audioStream 为 nil 时才创建新实例
if audioStream == nil {
audioStream = SimpleAudioReceiver.shared
//audioStream?.initAudioRecord() // 确保调用初始化
audioStream = SimpleAudioReceiver()
audioStream?.initAudioRecord() // 确保调用初始化
}
// 检查音频配置是否已存在
@ -668,7 +669,8 @@ public class AzureAsrHelper: NSObject {
if audioStream == nil {
// 创建外部音频拉流对象
audioStream = SimpleAudioReceiver.shared
audioStream = SimpleAudioReceiver()
audioStream?.initAudioRecord()
}
if audioStream?.recordfile == nil {

7
local_plugins/azure_speech/ios/azure_speech/Sources/azure_speech/IntegratedSpeechTranslationService.swift

@ -329,7 +329,8 @@ import os.log
* 初始化音频处理器
*/
private func initializeAudioProcessor() {
audioProcessor = SimpleAudioReceiver.shared
audioProcessor = SimpleAudioReceiver()
audioProcessor?.initAudioRecord()
// 检查音频配置是否已存在
if audioConfig == nil, let pushStream = audioProcessor?.pushAudioStream {
audioConfig = SPXAudioConfiguration(streamInput: pushStream)
@ -912,8 +913,8 @@ import os.log
audioConfig = nil
// 释放其他组件
// audioProcessor?.releaseAudioResources()
// audioProcessor = nil
audioProcessor?.releaseAudioResources()
audioProcessor = nil
translationService?.dispose()
translationService = nil

24
local_plugins/azure_speech/ios/azure_speech/Sources/tools/SimpleAudioReceiver.swift

@ -10,20 +10,20 @@ import os.log
*/
public class SimpleAudioReceiver: NSObject {
// MARK: - 单例实现
// // MARK: - 单例实现
/**
* 单例实例
*/
public static let shared = SimpleAudioReceiver()
// /**
// * 单例实例
// */
// public static let shared = SimpleAudioReceiver()
/**
* 私有初始化方法,防止外部创建实例
*/
private override init() {
super.init()
initAudioRecord()
}
// /**
// * 私有初始化方法,防止外部创建实例
// */
// private override init() {
// super.init()
// initAudioRecord()
// }
private let tag = "SimpleAudioReceiver"
private let log = OSLog(subsystem: "com.azure.speech", category: "SimpleAudioReceiver")

Loading…
Cancel
Save