2017-05-16 15 views
0

'com.apple.coreaudio.avfaudio'이유 : '필요 조건이 거짓 : _recordingTap의 == 코드에서 충돌을 받고 전무시리 구현 응용 프로그램으로 인해 캐치되지 않는 예외 응용 프로그램 종료 충돌 이유를 받고

1. 
guard let inputNode = audioEngine.inputNode else { 
     fatalError("Audio engine has no input node") 
    } 
2. 
inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { (buffer, when) in 
     self.recognitionRequest?.append(buffer) 
} 

또한 받아쓰기 후에는

우리는 텍스트의 받아쓰기가 추락 점점 시리를 다시 초기화하려고 할 때 내가 SP에서 텍스트를 캡처 할 너. 처음이 오류가 당신이 이미 버스에 설치된 탭을 가지고 있음을 말하고 당신이 할 수 있다는 것입니다 2

음성 받아쓰기 기능이

func getSpeech(asSpeach:String) 
{ 
    print("===================") 

    let audioSession = AVAudioSession.sharedInstance() 
    do { 
     try audioSession.overrideOutputAudioPort(.speaker) 
    } catch { 
     print(error.localizedDescription) 
    } 


    /// <#Description#> 
    let synthesizer = AVSpeechSynthesizer() 
    let utterance = AVSpeechUtterance(string: asSpeach) 
    utterance.rate = AVSpeechUtteranceDefaultSpeechRate 
    utterance.volume = 1.0 
    utterance.pitchMultiplier = 1.0 
    synthesizer.delegate=self 
    synthesizer.speak(utterance) 

    //  synthesizer.rSpeaking(at: .word) 


} 

답변

0

아래에 주어진이 라인에서 충돌을 받고 좋아하지만, 두 번째 시간입니다 또 다른 것이있다.

처음에 listen()을 호출하면 버스에 탭을 설치합니다. 그런 다음 stopListening()을 호출하고 인식을 중지하지만 탭에 대해서는 아무 것도하지 않습니다. 그런 다음 다시 listen()을 호출하면 다시 탭을 설치하려고합니다. 오류가 발생합니다.

StopListening()을 할 때 removeTapOnBus에 뭔가를 추가 할 수 있습니다. 다시 듣기 시작할 때 다시 추가 할 수 있습니다.