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.
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.smr.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.
No comments:
Post a Comment