我尝试在我的Android 4设备上使用JAPANESE
语言。
int value = tts.setLanguage(Locale.JAPANESE);
但值是-2。
这是我检查的代码
protected void check(int requestCode, int resultCode, Intent data) {
if (requestCode == 0) {
switch (resultCode) {
case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:
tts = new TextToSpeech(this, this);
break;
case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:
case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:
case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
break;
case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:
default:
Log.e(TAG, "Got a failure. TTS not available");
}
}
}
我想安装语言(如果不存在)。但是应用程序崩溃了。这是正确的,我该怎么办?如何获得日语?
最佳答案
通过测试结果代码等于0来开始您的方法,然后对结果代码值使用swith(您已经知道等于0):
if (requestCode == 0) {
switch (resultCode) {
如您的代码中所写,如果未安装
tts
语言,则不会初始化,对该语言的任何进一步引用都会使您的应用程序崩溃。您可以在An introduction to Text-To-Speech in Android 中看到正确的方法
问候。
关于android - android TTS安装语言(如果不存在),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13400570/