问题描述: 使用Android的TextToSpeech库中的Speak函数时,发现该函数不起作用,并且Int已被弃用的警告信息。
解决方法:
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
// 语音数据加载成功
} else {
// 语音数据加载失败
}
}
tts.setLanguage(Locale.US); // 设置语言为美国英语
PackageManager pm = getPackageManager();
List list = pm.queryIntentActivities(new Intent(Engine.ACTION_CHECK_TTS_DATA), PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() == 0) {
// 设备不支持TextToSpeech
}
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
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);
}
通过以上方法,可以解决Android TextToSpeech - Speak函数不起作用并且Int已被弃用的问题。