AudioKit:应用程序在后台时始终出现红色麦克风图标

AudioKit: Red Mic Icon Always Appears When App In Background

当我的应用进入后台(而不是录音)时,我很难找到一种方法来摆脱 iPhone 顶部的红色“麦克风正在使用”图标。因此,它给人的感觉是即使在后台,该应用程序也始终在录制。

下面是我在 AudioKitManager class 中初始化麦克风的方式:

// FYI: need to set to playAndRecord here otherwise crashes with “required condition is false: IsFormatSampleRateAndChannelCountValid(format)”
    do {
        try AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .default, options: .allowBluetoothA2DP)
        try AVAudioSession.sharedInstance().setActive(true)
    } catch {
        print(error)
    }

    mic = AKMicrophone()
    let inputBooster = AKBooster(mic)
    // boost helps with pitch tracking on some iPads
    inputBooster.gain = 5

    tracker = AKFrequencyTracker(inputBooster)
    tracker.stop() // turned off until it's needed - startPitchTracking() called
    micMixer = AKMixer(tracker)

    micBooster = AKBooster(micMixer)
    micBooster.gain = 0.0
    micBooster >>> mixer

    print("Setting AudioKit.output = mixer")
    AudioKit.output = mixer

    AKSettings.playbackWhileMuted = true
    AKSettings.defaultToSpeaker = true
    AKSettings.sampleRate = 44100

    do {
        print("Attempting to start AudioKit")
        try AudioKit.start()
    } catch {
        AKLog("AudioKit did not start!")
    }

我尝试过的事情:

非常感谢任何帮助!谢谢!

感谢 AudioKit - 这是一个了不起的框架! :^)

AudioKit:4.5.4 iOS:12.1 Xcode: 10.1

啊哈。解决方案是在应用程序进入后台时调用 audioKit.stop() 。然后 audioKit.start() 在它再次使用之前!!再见红色麦克风图标。再见。

我之前忽略了这一点,因为我在停止和启动音频套件时遇到了很多问题。但是(正如我在此 post 中提到的)主要问题已通过在音频套件再次启动后将样本重新加载到所有采样器中得到解决。

哇哦。