Как программно изменить двигатель по умолчанию TTS
В дополнение к движку Pico TTS, который поставляется с Android, у меня установлен еще один двигатель TTS. Я могу изменить, который по умолчанию используется системой - вручную:
Settings > Voice input & output > Text-to-speech settings > Default Engine
Я хотел бы иметь возможность делать это программно из моего приложения. Возможно ли это?
Если да, то как я могу это сделать?
Ответы
Ответ 1
Вы не можете изменить двигатель по умолчанию. Однако вы можете изменить используемый вами движок, вызвав TextToSpeech.setEngineByPackageName() (доступный с версии 2.2) или используя конструктор, который принимает пакет движка параметр (доступен в ICS, поэтому не очень полезен прямо сейчас).
Перед ICS также нет API, чтобы узнать, какие модули установлены, поэтому вам нужно заранее знать другой пакет, чтобы он мог его использовать.
Ответ 2
Вышеприведенный ответ более недействителен, так как метод устарел. Android API 14 и выше вам нужно использовать конструктор для установки двигателя.
TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)
Строка "engine" - это имя пакета движка TTS, который вы хотите использовать.