tts
他们是英语,西班牙语和印度尼西亚语
我对英语和西班牙语没有任何问题
他们工作正常,但我的印尼语错了
我尝试了不同的方式和不同的区域组合,但仍然没有运气
这是我的印尼代码:
Locale locInd = new Locale("IDN");
int result = tts.setLanguage(locInd);
我已尝试locale("in","ID");
,locale("ind","IDN");
,locale("in_ID);
但还是没有运气
每当我尝试时,输出都是英文而不是印尼文
我使用了jellybean(4.2.2)模拟器来运行它
当我运行模拟器时,在语言环境中有in_ID
编辑: 我发现我的问题,在pico TTS indonesian没有安装 是否有一个教程,每次没有支持的语言 它会弹出要求安装吗?
答案 0 :(得分:0)
MainActivity.tts.setLanguage(new Locale("id","ID"));
我用过它并且有效!
显然你的手机必须支持印度尼西亚语。我尝试了两种不同的手机,其中一种不会说印尼语
答案 1 :(得分:0)
在更改语言环境时,在将文本初始化为语音时设置语言:
textToSpeech = new TextToSpeech(context, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
switch (status) {
case TextToSpeech.SUCCESS: {
synchronized (this) {
int result = textToSpeech.setLanguage(set the indonesia id here);
// Take action based on the result of initialisation
}
}
break;
default: {
Toast.makeText(appContext, appContext.getResources().getString(R.string.tts_init_failed), Toast.LENGTH_LONG).show();
}
break;
}
}
});
答案 2 :(得分:0)
如果您正在使用 "id", "ID"
或 Locale("id", "ID")
并且不起作用,您可以尝试此代码
科特林:
private fun askSpeechInput(){
if(!SpeechRecognizer.isRecognitionAvailable(this)){
Toast.makeText(this, "Speech recognition is not available", Toast.LENGTH_SHORT).show()
}else{
val i = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "id-ID")
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Coba ucapkan sesuatu")
launchSomeActivity.launch(i)
}
}
这对我有用