2017-05-16 6 views
0

'com.apple.coreaudio.avfaudio', Grund: ‚erforderlich Bedingung falsch ist: _recordingTap == nullSiri Implementierung App Grund bekommen Absturz App beenden aufgrund nicht abgefangene Ausnahme

Absturz auf den Code bekommen

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

Beim Versuch, die siri neu zu initialisieren es abgestürzt immer

Wir haben Diktat von Text auch nach Diktat mag ich Text aus sp erfassen Eech. Zum ersten Mal ist es in Ordnung, aber zweites Mal unter

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) 


} 

Antwort

0

Der Fehler Ihnen Absturz in Zeile 2

Speech Diktatfunktion gegeben wird immer erzählt, dass Sie bereits einen Hahn auf diesem Bus installiert haben und dass Sie Ich habe noch einen.

Wenn Sie hören() aufrufen, zunächst installieren Sie den Hahn auf dem Bus. Dann rufen Sie stoplistening() und Sie Ihre Anerkennung stoppen, aber sie tun nichts über den Wasserhahn. Dann, wenn Sie hören, rufen Sie() erneut Sie versuchen, den Hahn wieder zu installieren - das den Fehler erzeugt.

Sie könnten etwas removeTapOnBus hinzufügen, wenn Sie stoplistening() - dies bedeuten sollte, dass Sie es wieder ein hinzufügen können, wenn Sie wieder zu hören beginnen.

Verwandte Themen