Android 如何在我的应用程序中启用阿拉伯语?

Android 如何在我的应用程序中启用阿拉伯语?,android,Android,我尝试了将文本转换为语音的代码,但如果文本是用阿拉伯语编写的,我希望语音是阿拉伯语。 我看了其他与这个话题相关的问题,但没有一个对我有用 布局具有编辑文本、按钮和文本视图 公共类AndroidTextToSpeechActivity扩展了活动实现 TextToSpeech.OnInitListener{ 私有int结果=0; 私密文本语音tts; 专用按钮btnSpeak; 私有EditText-txtText; @凌驾 创建时的公共void(Bundle savedInstanceStat

我尝试了将文本转换为语音的代码,但如果文本是用阿拉伯语编写的,我希望语音是阿拉伯语。 我看了其他与这个话题相关的问题,但没有一个对我有用

布局具有编辑文本、按钮和文本视图


公共类AndroidTextToSpeechActivity扩展了活动实现
TextToSpeech.OnInitListener{
私有int结果=0;
私密文本语音tts;
专用按钮btnSpeak;
私有EditText-txtText;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tts=新的TextToSpeech(这个,这个);
btnSpeak=(按钮)findViewById(R.id.btnSpeak);
txtText=(EditText)findViewById(R.id.txtText);
//点击按钮事件
btnSpeak.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
说话();
}
});
}
//活动销毁时关闭tts
@凌驾
公共空间{
//别忘了关机!
如果(tts!=null){
tts.stop();
tts.shutdown();
}
super.ondestory();
}
//它将在TTS启动之前调用
@凌驾
公共无效onInit(int状态){
/
if(status==TextToSpeech.SUCCESS){
结果=tts.setLanguage(Locale.US);
if(result==TextToSpeech.LANG_缺少数据| | result==TextToSpeech.LANG_不受支持){
Toast.makeText(这是“缺少的数据”,Toast.LENGTH_LONG).show();
btnSpeak.setEnabled(假);
}否则{
btnSpeak.setEnabled(真);
}
}否则{
Log.e(“TTS”,“初始化失败”);
}
}
//调用此方法以说出文本
私人空谈{
字符串text=txtText.getText().toString();
if(result!=tts.setLanguage(Locale.US))
{
Toast.makeText(getApplicationContext(),“输入正确的单词…”,Toast.LENGTH\u LONG.show();
}否则
{
//说出给定的文本
tts.speak(text,TextToSpeech.QUEUE\u FLUSH,null);
}
}

}
好吧,您确实将tts语言设置为Locale.US,这就是它说英语的原因。如果您的tts引擎具有阿拉伯语语音数据,您可以使用已经使用的setLanguage方法将语言环境设置为“ar”


但是,不清楚您是否还需要自动确定文本是用哪种语言编写的,这是一个完全不同的故事。

那么,您安装了阿拉伯语语音吗?也许它还绑定到一个国家代码,比如ar EG?