This is a text to speech android application which takes text from edit text and speaks in a given language. Create new android project and drop text view, edit text, button on linear layout and give id txtText to edit text and btnspeak to button. The code of android XML file is given below:
Now open Java file and initialize TTS (Text To Speech) object and check given language is available or not, given language is supported or not, etc. The code of android Java file is given below with explanation:
Enter some text in Edit text box and click on given below button and listen voice. Voice may not come if you are testing this project on emulator, so install .APK file of this project in your mobile and use. If you any doubts please comment. Share this post and help all android developers.
Related Tutorials:-
★ Play mp3 file from a project folder
★ Use SQLite Database
★ Enable and Disable WiFi
★ Enable and Disable Bluetooth
★ Get Latitude and Longitude of the current Location
★ Use Sensor | Motion detection
Convert Text to Speech in Android |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#345" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Text To Speech" android:padding="15dip" android:textColor="#0587d9" android:textSize="26dip" android:gravity="center" android:textStyle="bold"/> <EditText android:id="@+id/txtText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter some text to speak" android:layout_marginTop="20dip" android:layout_margin="10dip"/> <Button android:id="@+id/btnSpeak" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Speak Out" android:layout_margin="10dip"/> </LinearLayout>
Now open Java file and initialize TTS (Text To Speech) object and check given language is available or not, given language is supported or not, etc. The code of android Java file is given below with explanation:
package com.innosen.texttospeech; //your package name import java.util.Locale; import android.app.Activity; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class AndroidTextToSpeechActivity extends Activity implements TextToSpeech.OnInitListener { private int result=0; private TextToSpeech tts; private Button btnSpeak; private EditText txtText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tts = new TextToSpeech(this, this); btnSpeak = (Button)findViewById(R.id.btnSpeak); txtText = (EditText)findViewById(R.id.txtText); //button on click event btnSpeak.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { speakOut(); } }); } //shutdown tts when activity destroy @Override public void onDestroy() { // Don't forget to shutdown! if (tts != null) { tts.stop(); tts.shutdown(); } super.onDestroy(); } //It will called before TTS started @Override public void onInit(int status) { // TODO Auto-generated method stub //check status for TTS is initialized or not if (status == TextToSpeech.SUCCESS) { //if TTS initialized than set language result = tts.setLanguage(Locale.US); // tts.setPitch(5); // you can set pitch level // tts.setSpeechRate(2); //you can set speech speed rate //check language is supported or not //check language data is available or not if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Toast.makeText(this, "Missing data", Toast.LENGTH_LONG).show(); //disable button btnSpeak.setEnabled(false); } else { //if all is good than enable button convert text to speech btnSpeak.setEnabled(true); } } else { Log.e("TTS", "Initilization Failed"); } } //call this method to speak text private void speakOut() { String text = txtText.getText().toString(); if(result!=tts.setLanguage(Locale.US)) { Toast.makeText(getApplicationContext(), "Enter right Words...... ", Toast.LENGTH_LONG).show(); }else { //speak given text tts.speak(text, TextToSpeech.QUEUE_FLUSH, null); } } }
Enter some text in Edit text box and click on given below button and listen voice. Voice may not come if you are testing this project on emulator, so install .APK file of this project in your mobile and use. If you any doubts please comment. Share this post and help all android developers.
Related Tutorials:-
★ Play mp3 file from a project folder
★ Use SQLite Database
★ Enable and Disable WiFi
★ Enable and Disable Bluetooth
★ Get Latitude and Longitude of the current Location
★ Use Sensor | Motion detection
this program has error in line no 22, 24 and 25. please check it asap.
ReplyDeletei didn't find any error in the programme
Deletei am having o\lot many errors,... please help me,.....
Deletecheck correctly ..it works.
Deletecan u plzz solve our problem sir ??
Deletecan u plzz solve our problem sir ??
Deletethank u so much sir... it actually works :)
ReplyDeleteHey, Thanks, this worked. but how can I save output as an audio file?
ReplyDeletesir it is not working on mobile
ReplyDelete"Unfortunately app has stop working" error occur please helpus
plzzz sir rply quickly . . .
ReplyDeletewe r in trouble plzzzz
ReplyDeleteask me on hangout or send logcat on email id: info@coders-hub.com
DeleteSir whe I opened the app in my mobile it is not working instead a dialogue pops out "Unfortunately app is stopped " .Kindly help in this regard asap
ReplyDeleteHi Sir,
ReplyDeleteI had coded same code in my eclipse in r.java file it is getting error
error as below
Multiple markers at this line
- some cannot be resolved to a type
- Syntax error on token "some", ;
expected
- to cannot be resolved to a type
- Syntax error on token "speak", delete
this token
how to build TTS for new langauge?
ReplyDeletetts.setLanguage(Locale.US);
Deleteafter Locale.(DOT) press CTRL+SPACE and check available languages.
Hi I put code the program runs but no voice is hear.thak for help
ReplyDeleteIts working
ReplyDeleteSir, how to implement a text to speech in a custom view layout..
ReplyDeletewhen a bitmap is clicked it will speak out the database i had in my app
please help me. in java file i have an error plz let me know how to fix it :
ReplyDeleteerror: setContentView(R.layout.main); cana not resolve symbol main
Sir could you please help me with codes for android offline voice command recognition
ReplyDeleteThanks
I wanna develop an android app that enables me to control my phone using certain voice commands. Can you help me with that sir?
ReplyDeleteAnd I wanna know which will be better?
Using Android Studio or Eclipse
Eclipse is outdated now.so u have to develop whatever you want in android studio
DeleteThere is no error but i cant hear the audio
ReplyDeleteit is soo cool
ReplyDeleteworks !! good job bro.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete