2 Stimmen

Android TTS Sprache installieren, falls nicht vorhanden

I Versuchen Sie zu verwenden JAPANESE Sprache auf meinem Android 4-Gerät.

int value = tts.setLanguage(Locale.JAPANESE);

aber der Wert ist -2.

Dies ist mein Code zur Überprüfung

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");
            }
        }
    }

und ich möchte eine Sprache installieren, die nicht vorhanden ist. Aber die App stürzt ab. Ist das richtig oder was kann ich tun? Wie bekomme ich die japanische Sprache?

2voto

Luis Punkte 11890

Sie beginnen Ihre Methode, indem Sie testen, ob der Ergebniscode gleich 0 ist, und haben dann einen Wechsel auf den Ergebniscodewert (von dem Sie bereits wissen, dass er gleich 0 ist):

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

Wie in Ihrem Code geschrieben, wenn die Sprache nicht installiert ist tts wird nicht initialisiert und jeder weitere Verweis darauf führt zum Absturz der Anwendung.

Die korrekte Vorgehensweise finden Sie unter Eine Einführung in Text-To-Speech in Android

Herzliche Grüße.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X