0

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

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] 致命错误:在展开可选值时意外发现 nil

但我不知道这意味着哪个可选。

4

1 回答 1

1

我认为应该是:

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

说明:原因是您从一个视图(使用麦克风的位置)移动到另一个视图而没有对其进行初始化。当你从第二个视图控制器调用 stop 方法时,它会导致错误,因为麦克风是 NIL。

于 2016-09-19T04:25:05.523 回答