Android 谷歌安卓TTS人声名称
我正在我的应用程序中使用。我想添加一个允许用户选择语音的设置。我从当前的TTS引擎(com.google.android.TTS,我只需要中文语音)中获取语音列表,并将其名称添加到设置中:Android 谷歌安卓TTS人声名称,android,text-to-speech,Android,Text To Speech,我正在我的应用程序中使用。我想添加一个允许用户选择语音的设置。我从当前的TTS引擎(com.google.android.TTS,我只需要中文语音)中获取语音列表,并将其名称添加到设置中: val voices = tts.voices.filter {it.locale == Locale.SIMPLIFIED_CHINESE} 他们的名字看起来完全不可读,例如: cmn-cn-x-ssa-local cmn-cn-x-ccc-network cmn-cn-x-ccd-local 有没有一
val voices = tts.voices.filter {it.locale == Locale.SIMPLIFIED_CHINESE}
他们的名字看起来完全不可读,例如:
cmn-cn-x-ssa-local
cmn-cn-x-ccc-network
cmn-cn-x-ccd-local
有没有一种方法可以获得人类可读的声音名称?或者至少知道他们的性别
例如,包含包含引擎唯一名称的名称字段和包含人类可读名称的标签字段。也许语音也有类似的功能?我已经用这种方式格式化了,也许可以改进,但至少外观比默认列表要好
String sal = voices.get(e).name;
if(sal.contains("#")) {
String[] pre = sal.split("#");
String sec = pre[1].replace("_", " ");
sec = sec.replace("-", " ");
String[] sal2 = pre[0].split("-");
sal = sal2[0] + "_" + sal2[1].toUpperCase() + " (" + utils.capitalize(sec) + ")";
}
if(sal.contains("-x-")) {
String[] noSal = sal.split("-x-");
String[] noSal2 = noSal[0].split("-");
String noSal3 = noSal[1].replace("-", " ");
sal = noSal2[0] + "_" + noSal2[1].toUpperCase() + " (" + utils.capitalize(noSal3) + ")";
}
if(sal.contains("-")){
String[] finalSal = sal.split("-");
sal = finalSal[0] + "_" + finalSal[1] + " (" + utils.capitalize(finalSal[2]) + ")";
}
utils.capitalize()这是一个将单词大写的小函数
我已经用这种方式格式化了,也许可以改进,但至少看起来比默认列表要好
String sal = voices.get(e).name;
if(sal.contains("#")) {
String[] pre = sal.split("#");
String sec = pre[1].replace("_", " ");
sec = sec.replace("-", " ");
String[] sal2 = pre[0].split("-");
sal = sal2[0] + "_" + sal2[1].toUpperCase() + " (" + utils.capitalize(sec) + ")";
}
if(sal.contains("-x-")) {
String[] noSal = sal.split("-x-");
String[] noSal2 = noSal[0].split("-");
String noSal3 = noSal[1].replace("-", " ");
sal = noSal2[0] + "_" + noSal2[1].toUpperCase() + " (" + utils.capitalize(noSal3) + ")";
}
if(sal.contains("-")){
String[] finalSal = sal.split("-");
sal = finalSal[0] + "_" + finalSal[1] + " (" + utils.capitalize(finalSal[2]) + ")";
}
utils.capitalize()这是一个将单词大写的小函数