Call requires API level 21 (current min is 16): `android.speech.tts.TextToSpeech#speak`
时间: 2024-03-09 15:48:24 浏览: 163
这个错误提示是因为 `android.speech.tts.TextToSpeech#speak` 方法需要 API level 21 或以上的版本支持,而你的应用的最低支持版本是 API level 16,所以会出现该错误。
解决方法有两种:
1. 升级应用的最低支持版本到 API level 21 或以上。这种方法可以让你使用 `android.speech.tts.TextToSpeech#speak` 方法,并且可以让你的应用支持更多的新特性。
2. 使用低版本的 TextToSpeech API。你可以使用低版本的 TextToSpeech API,在 API level 16 上也可以使用 `speak` 方法。例如,你可以使用以下代码:
```
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
} else {
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
```
这样,就可以在 API level 16 上使用 `speak` 方法了。但是注意,使用低版本的 API 可能会有一些限制,比如说语音合成的质量可能会比较低。
阅读全文