在具有多个TTS引擎的设备中,用户可以在以下代码之后选择要使用的引擎。
Intent checkIntent = new Intent();
checkIntent.setAction( TextToSpeech.Engine.ACTION_CHECK_TTS_DATA );
startActivityForResult( checkIntent, CHECK_TTS_DATA );有没有办法知道用户选择哪个引擎?
发布于 2022-04-08 09:07:47
可以使用类getDefaultEngine中的方法TtsEngineUtils。
public static String getDefaultEngine(Context context) {
final ContentResolver resolver = context.getContentResolver();
final String defaultEngine = Settings.Secure.getString(
resolver, Settings.Secure.TTS_DEFAULT_SYNTH);
if (isEngineInstalled(context, defaultEngine)) {
return defaultEngine;
}
// Fall back on the highest-ranked system engine.
final TtsEngineInfo engine = getHighestRankedEngine(context);
if (engine != null) {
return engine.name;
}
return null;
}https://stackoverflow.com/questions/47637635
复制相似问题