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 回答