Diese Frage bezieht sich nur auf Android 2.2 :
Der folgende Screenshot zeigt 3 verschiedene Text-zu-Sprache-Engines installiert:
In diesem Screenshot konnten Sie sehen, dass nicht alle 3 aktiviert (aktiviert) sind. Stattdessen ist IVONA deaktiviert und es bleiben nur Pico (impliziert, da es fest codiert ist) und SVOX (aktiviert).
Ich möchte in der Lage sein, programmatisch aus meiner Anwendung abzufragen, ob eine bestimmte TTS-Engine (z. B. IVONA) geprüft
In Android 2.2 habe ich nur getDefaultEngine()
, was in einer Situation, in der Pico als Standard und SVOX wird überprüft (mit anderen Worten, woher weiß ich, dass SVOX überprüft wird, wenn Pico die Standardeinstellung ist?)
Wie erreiche ich das in Android 2.2 ?
Ist das überhaupt möglich?
PS Android 4.x (API & gt; = 14) eingeführt getEngines () , was zu der Annahme führen kann, dass dieses Problem gelöst ist ICS + aber genauere Untersuchung zeigt, dass:
Weitere Informationen finden Sie im Android TextToSpeech API-Leitfaden
> getEngines()
gibt eine Liste aller installierten Module mit einigen Informationen zu jedem.
getDefaultEngine()
gibt den Paketnamen der Engine an, die der Benutzer als Standard ausgewählt hat.
Wenn Sie den Paketnamen jeder Engine (oder einer Liste, die Sie im Voraus haben) mit dem Paketnamen der Standard-Engine vergleichen, können Sie sehen, welche ausgewählt ist.
Beachten Sie, dass die vorherige Funktion nur von API-Ebene 14 verfügbar ist, die zweite jedoch von API-Ebene 8 verfügbar ist.
Tags und Links android text-to-speech android-2.2-froyo