gpt4 book ai didi

ios - 使用 AVAudioSession 更改音频输入源会导致崩溃

转载 作者:搜寻专家 更新时间:2023-11-01 06:26:43 24 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,它利用语音转文本功能来接收用户的音频输入。然而,当我测试多个真实场景时,每次我将外接蓝牙耳机连接到我的手机时,我的应用程序都会崩溃。我注意到在 AVAudioEngine 对象中的 inputNode 上安装水龙头时会发生崩溃。

func configureAudioTap() {

let audioEngine = self.audioEngine

let inputNode = audioEngine.inputNode
let inputNodeFormat = inputNode.outputFormat(forBus: 0)

audioEngine.inputNode.installTap(onBus: 0, bufferSize: 1024, format: inputNodeFormat, block: { [unowned self] buffer, time in
self.recognitionRequest?.append(buffer)
})

}

在控制台中,我收到以下错误

exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: format.sampleRate == hwFormat.sampleRate'

调试时,我注意到我的蓝牙耳机和内置麦克风的采样率不同。我还浏览了 Audio Session 编程指南文档,特别是 Responding to Route Changes部分,但徒劳无功。

非常感谢任何反馈!

最佳答案

改变这个:

let inputNodeFormat = inputNode.outputFormat(forBus: 0)

为此:

let inputNodeFormat = inputNode.inputFormat(forBus: 0)

如果它崩溃了请告诉我们。

我有一些类似的问题,但不是每次都有。

关于ios - 使用 AVAudioSession 更改音频输入源会导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53351976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com