我尝试在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 :(得分:1)
通过测试结果代码等于0开始你的方法,然后对结果代码值(你已经知道等于0)进行开关:
if (requestCode == 0) {
switch (resultCode) {
如您的代码所示,如果未安装语言tts
将不会被初始化,任何对它的进一步引用都将使您的应用程序崩溃。
您可以在An introduction to Text-To-Speech in Android
中查看正确的方法问候。