我正在为 Android API 11(或更高版本)制作应用程序。我正在尝试从 TTS 引擎获取回调,但出现了问题。我尝试使用setOnUtteranceProgressListener()
方法设置侦听器,但 Eclipse 说这需要 API 15 或更高版本(并引发编译错误),所以接下来我尝试使用setOnUtteranceCompletedListener()
但它说“此方法在 API 级别 15 中已弃用”。我应该使用什么使其与 API 11 及更高版本兼容?
问问题
519 次
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 回答