API的setOnUtteranceProgressListener< 15

时间:2013-01-04 15:18:00

标签: android callback listener text-to-speech

我正在为Android API 11(或更新版本)制作应用程序。我正试图从TTS引擎获得回调,但是出现了问题。我试图使用setOnUtteranceProgressListener()方法设置一个监听器,但Eclipse说需要API 15或更新(并抛出编译错误),所以接下来我尝试使用setOnUtteranceCompletedListener()但是它说“此方法在API级别15“中已弃用。我应该使用什么来使它与API 11及更高版本兼容?

2 个答案:

答案 0 :(得分:1)

您可以使用已弃用的方法,也可以根据运行设备的Android版本进行操作。你可以看一下Build.VERSION.SDK_INT。

答案 1 :(得分: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
            }
        });
    }