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