Text to speech in android?
deepak - Sun Jan 29 2012 12:53:58 GMT-0500 (EST)
How to do text to speech in android?
How to do text to speech in android?
deepak - Sun Jan 29 2012 13:19:57 GMT-0500 (EST)
Step by step details of how to do it
Step by step details of how to do it
deepak - Sun Jan 29 2012 18:03:49 GMT-0500 (EST)
Step 1 : Find out whether the device supports TTS
1) Find out whether the device supports TTS(text to speech)
/**Make intent call to check whether the device
* supports TTS. startActivityForResult is the
* call back method.
*/
private int MY_DATA_CHECK_CODE = 0;
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
protected void onActivityResult
(int requestCode, int resultCode, Intent data) {
if (requestCode == MY_DATA_CHECK_CODE) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)
{
// success, create the TTS instance
tts = new TextToSpeech(this, this);
}
else {
// missing data, install it
Intent installIntent = new Intent();
installIntent.
setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
deepak - Sun Jan 29 2012 21:01:53 GMT-0500 (EST)
Step 2: Making sure the Initialization was Successful
2) Make sure the initialization was Successful
/**
*Before using the TTS engine, we have to be sure that
*it has properly been initialized.
*In order to get informed on whether this has happened,
*we can implement an interface called OnInitListener.
*The method onInit will be invoked when the engine
*initialization has completed with the accompanying status.
*
**/
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Toast.makeText(TtsActivity.this,
"Text-To-Speech engine is initialized",
Toast.LENGTH_LONG).show();
}
else
if (status == TextToSpeech.ERROR) {
Toast.makeText(TtsActivity.this,
"Error occurred while initializing Text-To-Speech engine",
Toast.LENGTH_LONG).show();
}
}
deepak - Sun Jan 29 2012 21:08:52 GMT-0500 (EST)
Step 3: Use the initialized TextToSpeech object for tts
3) Use the initialized TTS object for Text to Speech functionality.
String text = "Welcome Deepak";
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
deepak - Sun Jan 29 2012 21:14:34 GMT-0500 (EST)
Setting the Locale
mTts.setLanguage(Locale.US);