gpt4 book ai didi

ios - 添加 AKMicrophone 时崩溃

转载 作者:可可西里 更新时间:2023-11-01 04:55:16 26 4
gpt4 key购买 nike

我正在使用 AudioKit 开发一个音频应用程序,它涉及定期停止 AudioKit,重新排列或替换 AKNode 子类链,然后重新启动 AudioKit。在我尝试使用 AKMicrophone 之前,它一直运行顺利。

如果 AKMicrophone 存在于初始声音链中,即,当我第一次调用 AudioKit.start() 时,它工作正常。但是,如果我在较早的调用 AudioKit.start() 之后的某个时刻将 AKMicrophone 放入声音链,应用程序将在下一个 AudioKit.start( ) 调用,产生以下错误消息:

...[avae] AVAudioEngine.mm:149:-[AVAudioEngine prepare]: Engine@0x1c0007170: could not initialize, error = -10875
...[mcmx] 338: input bus 0 sample rate is 0
...[avae] AVAEInternal.h:103:_AVAE_CheckNoErr: [AVAudioEngineGraph.mm:1266:Initialize:
(err = AUGraphParser::InitializeActiveNodesInOutputChain(ThisGraph, kOutputChainOptimizedTraversal, *GetOutputNode(), isOutputChainActive)): error -10875

为了说明,下面的代码运行流畅:

    let mic = AKMicrophone()
if let input = AudioKit.inputDevice {
try! mic.setDevice(input)
}
AudioKit.output = mic
AudioKit.start()

但是如果它之前调用了 AudioKit.start() 它将崩溃:

    AudioKit.output = AKOscillator()
AudioKit.start()
AudioKit.stop()

let mic = AKMicrophone()
if let input = AudioKit.inputDevice {
try! mic.setDevice(input)
}
AudioKit.output = mic
AudioKit.start()

有什么办法可以避免这种情况吗?甚至帮助理解错误消息也会有所帮助。谢谢。

编辑:我注意到相同的行为 AKStereoInput - 在相同条件下出现相同的错误消息

最佳答案

之后

AudioKit.output = AKOscillator()
AudioKit.start()

尝试;

do{
try AudioKit.stop()
try AudioKit.shutdown()
AudioKit.output = nil
}catch{
print(error)
}

关于ios - 添加 AKMicrophone 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48576639/

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