官方TTS朗读支持语言种类
English
英语
French
法语
German
德语
Italian
意大利语
Spanish
西班牙语
不支持中文…
//1,先写一个用来检查tts是否安装的方法
private final static int CHECK_CODE = 1;
public void checkTts(){
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, CHECK_CODE);
}
//创建一个TTS
private TextToSpeech mTts;
//这个自己先去了解下onActivityResult是怎么回事,这里不作详解
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CHECK_CODE){
if(resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS){
//成功创建一个TTS
mTts = new TextToSpeech(this, this);
}else{
//否则安装一个
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
//2,让TTS朗读起来
//onCreate方法中
//检查TTS是否正常
checkTts();
//创建用组件
private speakValue = (EditText) findViewById(R.id.speakValue);
private speakButton = (Button) findViewById(R.id.sayHello);
speakButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String text = speakValue.getText().toString();
Log.d("result","text-->" +text);
sayTts(text);
}
});
//TTs朗读用
private void sayTts(String text){
//最简单的例子
mTts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
//补充,使用TTS朗读,一定要实现OnInitListener 接口
//TTs对象创建后初始化
@Override
public void onInit(int status) {
if(status == TextToSpeech.SUCCESS){
//设置语言区域
int result = mTts.setLanguage(Locale.US);
//如果是不支持语言
if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED){
Log.e("error","不支持");
}
}
}
就这么点代码就可以正常运行了…