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()
    }
}

説明:理由は、あるビュー (マイクが使用されている場所) から別のビューに初期化せずに移動したためです。また、2 番目のビュー コントローラーから stop メソッドを呼び出すと、マイクが NIL であるため、エラーが発生します。

于 2016-09-19T04:25:05.523 に答える