我有一個應該以多種語言實現tts的應用程序。這些語言不適用於標準的PICO引擎,所以我需要SVOX或類似的東西。 我已經安裝了SVOX和所需的聲音,懸停我不能改變我的手機tts引擎(我有android 2.1,所以沒有這個選項,我也不能安裝tts擴展應用程序,因爲我的手機不兼容)。在android tts中無法獲取所需的(SVOX)語言
我可能應該以某種方式通過編程方式更改引擎,但我似乎無法做到這一點。
這裏是我的代碼:這個作品,如果我使用標準的聲音,和那些我需要的不可
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Locale[] AvalLoc = Locale.getAvailableLocales();
Log.i("TTS","Available locales " + Arrays.toString(AvalLoc));
/*
JUST TRYING TO OUTPUT WHICH LANGUAGES ARE AVAILABLE
*/
for (Locale l : AvalLoc) {
int buf = tts.setLanguage(l);
if (buf == TextToSpeech.LANG_MISSING_DATA
|| buf == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.i("TTS", "Language NOT available" + l.getCountry());
} else {
Log.i("TTS","Language available" + l.getCountry());
}
}
Locale loc = new Locale("ita","ITA"); /*This works, but I would need to be able to use SVOX voices instead*/
int result = tts.setLanguage(loc);
tts.setOnUtteranceCompletedListener(onUtteranceCompleted);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
btnSpeakQuestion.setEnabled(true);
}
} else {
Log.e("TTS", "Initilization Failed!");
}
}
我有標準和SVOX TTS安裝。
PS:SVOX網站的開發者頁面沒有幫助,因爲它只講述如何提供最終用戶應該下載的聲音... – DavidTonarini