java texttospeech_Text-to-speech 入门与进阶学习笔记(android)

官方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","不支持");

}

}

}

44eea92c2d8637cccb8183edf66706c0.png 就这么点代码就可以正常运行了…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值