Also habe ich eine einfache App erstellt, die Spracherkennung mit SFSpeechRecognizer durchführt und die konvertierte Sprache in einem UITextView auf dem Bildschirm anzeigt. Jetzt versuche ich, das Telefon zu sprechen, das angezeigten Text. Es funktioniert nicht aus irgendeinem Grund. AVSpeechSynthesizer speak funktioniert nur, bevor SFSpeechRecognizer verwendet wurde. Wenn zum Beispiel die App gestartet wird, wird in UITextView ein Begrüßungstext angezeigt. Wenn ich auf die Schaltfläche "Sprechen" tippe, spricht das Telefon den Begrüßungstext aus. Wenn ich dann (für die Spracherkennung) aufnehme, wird die erkannte Sprache in der UITextView angezeigt. Jetzt möchte ich, dass das Telefon diesen Text spricht, aber leider nicht.
Hier ist der Code
%Vor% Sie sollten diese Zeile der Methode startRecording
ändern von:
zu:
%Vor%Bitte verwenden Sie den folgenden Code zur Behebung des Problems:
%Vor%Hier, nachdem wir die audioengine beendet haben, legen wir die audioSession Kategorie auf AVAudioSessionCategoryPlayback und audioSession fest Modus zu AVAudioSessionModeDefault . Wenn Sie die nächste Text-zu-Sprache-Methode aufrufen, funktioniert das problemlos.
Wenn Sie STT verwenden, müssen Sie Folgendes einstellen:
%Vor%Wenn Sie TTS verwenden, setzen Sie AudioSession erneut wie folgt ein:
%Vor%Es funktioniert perfekt für mich. Auch das LOW AUDIO Problem ist gelöst.
Tags und Links iphone ios avspeechsynthesizer sfspeechrecognizer