2010-12-02 3 views
2

Я играю с текстом в речь, чтобы сделать мой testapp немного веселее. Он работает в эмуляторе, но не на моем телефоне, так как мой стандарт по умолчанию не является английским.андроид, текст в речь

Однако тексты являются английскими, поэтому tts должен, конечно, использовать английский. Насколько я знаю, я могу реализовать автонастройку, что-то вроде

public void onInit(int status) { 

    if (status == TextToSpeech.SUCCESS) { 
     // Set preferred language to US english. 

     int result = mtts.setLanguage(Locale.US); 

     if (result == TextToSpeech.LANG_MISSING_DATA || 
      result == TextToSpeech.LANG_NOT_SUPPORTED) { 
      // Lanuage data is missing or the language is not supported. 
      Log.e(TAG, "Language is not available."); 
     } else { 

      // The TTS engine has been successfully initialized. 
      speak(); 
     } 
    } else { 
     // missing data, install it 
     Intent installIntent = new Intent(); 
     installIntent.setAction(
      TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
     startActivity(installIntent); 
    } 
} 

Но, я хочу? Устанавливает ли локали много места? Разве это испортит что-то еще?

С уважением

+0

Вы всегда выскакивает окно с запросом пользователя, если они хотят, чтобы установить данные TTS. Я бы не слишком беспокоился об этом. Ничего не должно быть. – 2010-12-02 21:13:36

ответ

2

Вы должны выполнить это:

// missing data, install it 
    Intent installIntent = new Intent(); 
    installIntent.setAction(
     TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
    startActivity(installIntent); 

когда вы получаете LANG_MISSING_DATA

0

Я хотел бы только попробовать установку в том случае, когда "LANG_MISSING_DATA" не для "LANG_NOT_SUPPORTED". Так как он запускает другое действие, и пользователь может выбрать, загрузите его или нет, я бы не стал слишком беспокоиться об этом, занимая пространство. Нет, это ничего не должно было испортить.

0

Android позволяет конвертировать текст в голос. Не только вы можете преобразовать его, но также позволяет говорить на разных языках. Для этой цели Android предоставляет класс TextToSpeech. Для более подробной информации, пожалуйста, с этим руководством: -

http://a-droidtech.blogspot.in/2015/06/android-text-to-speech-tutorial-android.html