如果不存在android TTS安装语言

时间:2012-11-15 15:22:02

标签: android

我尝试在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");
            }
        }
    }

我希望安装语言(如果不存在)。但应用程序崩溃了。这是正确的,我能做什么?如何获得日语?

1 个答案:

答案 0 :(得分:1)

通过测试结果代码等于0开始你的方法,然后对结果代码值(你已经知道等于0)进行开关:

    if (requestCode == 0) {
        switch (resultCode) {

如您的代码所示,如​​果未安装语言tts将不会被初始化,任何对它的进一步引用都将使您的应用程序崩溃。

您可以在An introduction to Text-To-Speech in Android

中查看正确的方法

问候。