您的位置:首页 > 移动开发 > Android开发

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篇”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: