我尝试在我的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/

10-12 00:34
查看更多