EZAudio 停止获取音频

EZAudio stopfetching audio

当我从 EZAudio 调用函数 .stopfetchingaudio() 时,我的应用程序崩溃了。

var microphone: EZMicrophone! 

func didMove(to view: SKView){

 /*
         * setup all dependencys for the fft analysis
         */

        //setup audio session
        session = AVAudioSession.sharedInstance()
        do{
            try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
            try session.setActive(true)
        }catch{
            print("Audio Session setup Fails")
        }

        //create a mic instance
        microphone = EZMicrophone(delegate: self)


}

func stopMic(){
    microphone.stopFetchingAudio()
}

我收到这个错误:

xyz-abv[435:35687] fatal error: unexpectedly found nil while unwrapping an Optional value

但是我不知道是哪个optional.

我觉得应该是:

func stopMic(){
    if let _ = microphone {
        microphone.stopFetchingAudio()
    }
}

解释:原因是您在没有初始化的情况下从一个视图(使用麦克风的地方)移动到另一个视图。当您从第二个视图控制器调用停止方法时,它会导致错误,因为麦克风为 NIL。