AVAudioEngine 麦克风在启动时崩溃

AVAudioEngine Microphone Crash on Start

我正在尝试设置 AudioQueue 以从 iPhone 上的麦克风流式传输音频。

我创建了我的音频引擎:

var audioEngine = AVAudioEngine()

我的音频队列:

    // Serial dispatch queue used to analyze incoming audio buffers.
    let analysisQueue = DispatchQueue(label: "com.apple.AnalysisQueue")


    // Install an audio tap on the audio engine's input node.
    audioEngine.inputNode.installTap(onBus: 0,
                                     bufferSize: 8192, // 8k buffer
                                     format: inputFormat) { buffer, time in

        // Analyze the current audio buffer.
        analysisQueue.async {
        }
    }

每当我 运行 模拟器或设备上的代码时,我都会遇到以下崩溃:

*** Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: inputNode != nullptr || outputNode != nullptr'

我在制作这个时遵循了一些 Apple 示例代码;有点困惑。任何帮助表示赞赏!

编辑:几天前的这个问题似乎指向一个类似的问题:

我在谷歌搜索时不知何故错过了这个帖子;但多亏了@SO​​readytohelp,我让它工作了——只需添加

audioEngine.mainMixerNode

正上方

do {
    // Start the stream of audio data.
    try audioEngine.start()
} catch {
    print("Unable to start AVAudioEngine: \(error.localizedDescription)")
}