0

Android API 11(またはそれ以降)用のアプリケーションを作成しています。TTSエンジンからコールバックを取得しようとしていますが、問題が発生します。メソッドを使用してリスナーを設定しようとしましたsetOnUtteranceProgressListener()が、EclipseはAPI 15以降が必要である(そしてコンパイルエラーをスローする)とsetOnUtteranceCompletedListener()言っているので、次に使用しようとしましたが、「このメソッドはAPIレベル15で非推奨になりました」と表示されます。API 11以降と互換性を持たせるには何を使用すればよいですか?

4

2 に答える 2

1

非推奨の方法を使用するか、デバイスが実行しているAndroidのバージョンに応じていずれかの方法を実行します。Build.VERSION.SDK_INTを見ることができます。

于 2013-01-04T15:40:00.707 に答える
0

次のコードを使用できます。

TextToSpeech tts = new TextToSpeech(this, this);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
        // API > 15
        tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
            @Override
            public void onStart(String utteranceId) {
                // do something
            }

            @Override
            public void onDone(String utteranceId) {
                 // do something
            }

            @Override
            public void onError(String utteranceId) {
                 // do something
            }
        });
    } else {
        // API < 15
        tts.setOnUtteranceCompletedListener(new TextToSpeech.OnUtteranceCompletedListener() {
            @Override
            public void onUtteranceCompleted(String utteranceId) {
                  // do something
            }
        });
    }
于 2017-04-25T17:32:25.110 に答える