2016-09-19 5 views
0

EZAudio에서 .stopfetchingaudio() 함수를 호출하면 응용 프로그램이 중단됩니다.EZAudio stopfetching audio

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

을하지만 그것이 의미 선택하는 모른다.

+0

마이크는 어디에 정의되어 있습니까? –

+0

정의 된 SpriteKit의 GameScene에 있습니다. 아이디어는 내가 다른 캡처 컨트롤러로 전환 할 때 마이크 캡처를 중단합니다. 이렇게하려면 부모 viewController stop() 함수를 호출하십시오. 하지만이 내게이 오류를 줘 – Aron

답변

1

나는 그것을해야한다고 생각 :

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

설명 : 이유는 당신이 그것을 intializing하지 않고 다른보기로 (마이크를 사용하는) 하나 개의보기에서 이동이다. 그리고 두 번째보기 컨트롤러에서 stop 메서드를 호출하면 마이크가 NIL이므로 오류가 발생합니다.

+0

죄송합니다 게시물에 실패했습니다 – Aron

+0

어디에 마이크를 초기화 해 봤어? –

+0

정의 된 SpriteKit의 GameScene에 있습니다. 아이디어는 내가 다른 캡처 컨트롤러로 전환 할 때 마이크 캡처를 중단합니다. 이렇게하려면 부모 viewController stop() 함수를 호출하십시오. 하지만이게 나에게이 오류를 준다. – Aron