2012-04-09 14 views
4

Ich verwende TextToSpeech, um Wörter zu lesen. Dieser Code funktioniert für die meisten Fälle gut:Android TextToSpeech buchstabiert nur kurze Wörter, anstatt sie auszudrücken

public void speak(String pContent) { 
    if (!isAvailable() || !isReady()) return; 
    this.mEngine.speak(pContent, TextToSpeech.QUEUE_ADD, null); 
} 

jedoch mit Worten, die 3 oder weniger Zeichen wie dog, cow es nur jedes Zeichen Zaubern (d - o - g). Wörter wie cow milk, es buchstabiert cow, liest dann milk korrekt.

Habe ich etwas falsch gemacht?

Weitere Informationen: Ich habe versucht, PicoTTS von Android, und auf Galaxy Tab, ich versuchte Samsung TTS auch, beide von ihnen haben dieses Problem.

+0

Wie haben Sie TTS initialisiert? –

+0

@NickMartin Ja, die Initialisierung muss erfolgreich abgeschlossen sein, bevor isAvailable wahr ist, und die Engine kann andere lange Wörter gut lesen. –

+0

Richtig, Sie müssen es initialisieren, um anzurufen. Ich frage, wie du das gemacht hast. –

Antwort

4

AFAIK der einzige Weg, um alle Hauptstädte zu bekommen TTS Wörter zu buchstabieren verwendet. Ich kann deinen Inhalt nicht sehen, aber vielleicht fütterst du ihn mit Kuhmilch?

+0

Das stimmt! Alle meine Daten wurden in Großbuchstaben konvertiert! Ich werde versuchen, sie in Kleinbuchstaben zu verwandeln! –

+0

Getestet! Vielen Dank. Du verdienst mein Kopfgeld :) –

+0

Wie cool ist das !! Als Anfänger habe ich nur nach Kopfgeldern gesucht. Fand dieses und gab mein Bestes. Froh, dass ich helfen könnte. –

0

Ich habe auf Spanisch und Englisch mit den Wörtern Hund, Kuh, Ameise getestet und ich kann das Problem, das Sie melden, nicht finden. Vermutlich fehlt etwas im Code. Verwenden Sie das folgende Beispiel und geben Sie an, ob das Problem gelöst wurde.

Ich hoffe, es war nützlich.

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/TextToSpeechActivity.html

+0

Das ist seltsam. Ich bin diesem Tutorial gefolgt und stoße auf das Problem! –

Verwandte Themen