Android TTS学习——TTS初体验(下)
2013-01-31 19:12
381 查看
from:http://blog.csdn.net/ichliebephone/article/details/5802044
当TTS数据检测成功创建一个TextToSpeech后,就会调用接口OnInitListener中定义的回调函数
[java] view plaincopy
//实现TTS初始化接口
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
//TTS Engine初始化完成
if(status == TextToSpeech.SUCCESS)
{
int result = mTts.setLanguage(Locale.US);
//设置发音语言
if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)
//判断语言是否可用
{
Log.v(TAG, "Language is not available");
speakBtn.setEnabled(false);
}
else
{
mTts.speak("This is an example of speech synthesis.", TextToSpeech.QUEUE_ADD, null);
speakBtn.setEnabled(true);
}
}
}
在这个回调函数里,我们设置语言,然后就可以进行使用 TTS引擎进行操作了。
创建一个TextToSpeech是需要占用资源的,因此我们要适时的释放这个资源:
[java] view plaincopy
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(mTts != null)
//activity暂停时也停止TTS
{
mTts.stop();
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
//释放TTS的资源
mTts.shutdown();
}
最后,在onCreate函数中设置 EditText和Button的使用:
[java] view plaincopy
inputText = (EditText)findViewById(R.id.inputText);
speakBtn = (Button)findViewById(R.id.speakBtn);
inputText.setText("This is an example of speech synthesis.");
speakBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
mTts.speak(inputText.getText().toString(), TextToSpeech.QUEUE_ADD, null);
//朗读输入框里的内容
}
});
至此,我们的 Demo就完成了,当启动程序后,首先会朗读“This is an example of speech synthesis in English. ”,然后你在EditText中输入内容,点击Speak按钮就能把内容给朗读出来。
文章对应的完整代码例子可以在这里下载:
http://download.csdn.net/source/2610740
注:文章参加“ 首届Google暑期大学生博客分享大赛——2010 Andriod篇”
当TTS数据检测成功创建一个TextToSpeech后,就会调用接口OnInitListener中定义的回调函数
[java] view plaincopy
//实现TTS初始化接口
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
//TTS Engine初始化完成
if(status == TextToSpeech.SUCCESS)
{
int result = mTts.setLanguage(Locale.US);
//设置发音语言
if(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED)
//判断语言是否可用
{
Log.v(TAG, "Language is not available");
speakBtn.setEnabled(false);
}
else
{
mTts.speak("This is an example of speech synthesis.", TextToSpeech.QUEUE_ADD, null);
speakBtn.setEnabled(true);
}
}
}
在这个回调函数里,我们设置语言,然后就可以进行使用 TTS引擎进行操作了。
创建一个TextToSpeech是需要占用资源的,因此我们要适时的释放这个资源:
[java] view plaincopy
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(mTts != null)
//activity暂停时也停止TTS
{
mTts.stop();
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
//释放TTS的资源
mTts.shutdown();
}
最后,在onCreate函数中设置 EditText和Button的使用:
[java] view plaincopy
inputText = (EditText)findViewById(R.id.inputText);
speakBtn = (Button)findViewById(R.id.speakBtn);
inputText.setText("This is an example of speech synthesis.");
speakBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
mTts.speak(inputText.getText().toString(), TextToSpeech.QUEUE_ADD, null);
//朗读输入框里的内容
}
});
至此,我们的 Demo就完成了,当启动程序后,首先会朗读“This is an example of speech synthesis in English. ”,然后你在EditText中输入内容,点击Speak按钮就能把内容给朗读出来。
文章对应的完整代码例子可以在这里下载:
http://download.csdn.net/source/2610740
注:文章参加“ 首届Google暑期大学生博客分享大赛——2010 Andriod篇”
相关文章推荐
- Android TTS学习——TTS初体验(上)
- Android TTS学习——TTS初体验(中)
- Android TTS学习——TTS初体验
- Android TTS 学习
- Android TTS学习——独特你的名字
- android学习初体验-环境配置
- Android TTS学习(补充)--我能说中文
- Android TTS学习——总结
- 学习Android推送功能笔记(5)---Mina初体验
- Android TTS学习 连续朗读
- Android开发学习之路--MediaPlayer之简单音乐播放器初体验
- Android TTS学习(补充)--我能说中文
- Android开发学习之路--MediaPlayer之简单音乐播放器初体验
- Android TTS学习——继续爱的表白
- Android TTS学习——保存对你的喜欢
- Android TTS学习--使用中文语音
- Android TTS学习——用五种外语说出“我爱你”
- android学习小笔记
- Android学习——Animation动画效果
- Android自定义View学习笔记03