转载请注明出处:http://blog.csdn.net/sw950729/article/details/52069582
本文出自:马云飞的博客
上次也说了最近一直在整理东西以及封装东西。然后今天整理就发现之前写了个语音播报的demo。然后就趁关机前写一下,东西也不多,就几行代码的事,2333333.
xml我就不写了,一个edittext和一个button。点击button读出edittext的内容。
实现OnInitListener接口,java代码如下:
public void inital() {
// 传入context及onInitListener
tts = new TextToSpeech(this, this);
editText = (EditText) findViewById(R.id.et_text);
button = (Button) findViewById(R.id.btn);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
tts.setPitch(1.0f);
// 设置语速
tts.setSpeechRate(0.3f);
if (editText.getText().length() >= 1) {
tts.speak(editText.getText().toString(),
TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak("Nothing to say", TextToSpeech.QUEUE_FLUSH, null);
}
}
});
}
public void onInit(int status) {
if (status == tts.SUCCESS) {
// Toast.makeText(MainActivity.this,"成功输出语音",
// Toast.LENGTH_SHORT).show();
// Locale loc1=new Locale("us");
// Locale loc2=new Locale("china");
int result1 = tts.setLanguage(Locale.US);
int result2 = tts.setLanguage(Locale.CHINESE);
if (result1 == TextToSpeech.LANG_MISSING_DATA
|| result1 == TextToSpeech.LANG_NOT_SUPPORTED
|| result2 == TextToSpeech.LANG_MISSING_DATA
|| result2 == TextToSpeech.LANG_NOT_SUPPORTED)
{
Toast.makeText(this, "数据丢失或不支持", Toast.LENGTH_SHORT).show();
}
}
}
记得在ondestory里面把tts给停止掉:
protected void onDestory() {
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onStop();
}
我这边设置可读的内容只有中英文,大家可以自己修改,啊哈哈哈~~~
好了。今天就介绍这点把,我的android群:232748032