2013-07-02 3 views
1

У меня есть этот код для текста в речь в моем приложении.с использованием двигателя eSpeak tts в приложении

public void onInit(int status) { 
    // TODO Auto-generated method stub 
    if (status == TextToSpeech.SUCCESS) { 
     //Setting speech language   
     int result = tts.setLanguage(Locale.ENGLISH);    
     //If your device doesn't support language you set above 
     if (result == TextToSpeech.LANG_MISSING_DATA 
       || result == TextToSpeech.LANG_NOT_SUPPORTED) { 
       //Cook simple toast message with message 
       Toast.makeText(this, "Language not supported", Toast.LENGTH_LONG).show(); 
       //Log.e("TTS", "Language is not supported"); 
     }     
     //TTS is not initialized properly 
    } else { 
       Toast.makeText(this, "TTS Initilization Failed", Toast.LENGTH_LONG).show(); 
       //Log.e("TTS", "Initilization Failed"); 
    } 
} 

Мое приложение включает в себя множество различных языков, таких как английский, хинди, маратхи, телугу, тамильский и т.д. Поскольку андроид TTS Engine по умолчанию не поддерживает эти языки, я скачал озвучки TTS двигатель от этого link и установил его на мой телефон.

Его язык по умолчанию установлен как английский. Как я могу изменить свой язык в своем коде, чтобы он мог читать тексты других языков на Unicode?

В настоящее время, для слова в хинди-скрипте, он говорит о некоторых номерах.

Как я могу распознать язык, используемый в тексте? Он показывает только локали, доступные в стандартном google tts. Как изменить двигатель tts на eSpeak tts?

+0

где вы можете это решить. Можете ли вы поделиться примером кода для этого же? – SSR

+0

@SSR Нет .. Я не смог его решить .. Он не обнаруживает двигатель espeak. – newbee

ответ

0

Попробуйте изменить местонахождение в соответствии с вашими потребностями.

В настоящее время это Locale.ENGLISH изменить это соответственно.

+0

да .. но это не обнаруживает eSpeak tts. Он показывает только локали, доступные в стандартном google tts. Как изменить двигатель tts на eSpeak tts? – newbee

1

Инициализировать ваш TextToSpeech используя

TextToSpeech (Context context, TextToSpeech.OnInitListener listener, String engine) 

Это

tts = new TextToSpeech(this, this, "com.googlecode.eyesfree.espeak"); 

имя двигателя Пакет двигателя TTS для использования, который вы можете получить, позвонив getEngines.

+0

Не могли бы вы объяснить подробно? Когда я инициализирую его так, eclipse показывает, что контекст не может быть разрешен в переменную, TextToSpeech.OnInitListener не может быть разрешен в переменную ....... – newbee

+0

У меня есть eSpeak tts, установленный на моем телефоне. Когда я код в eclipse, как я могу распознать этот движок? есть ли некоторые шаги, которые им не хватает? Пожалуйста помоги. Я новичок в android – newbee

+0

Я отредактировал свой вопрос. –

Смежные вопросы