Text to Speech Conversion in Android

By Abhijeet Singh Aug 05, 2013
Text to speech conversion in Android.

Text to Speech Conversion in Android

Procedure

  1. Open Eclipse IDE.
  2. Take a new project.
  3. Make a MainActivity.java file.
  4. Make an activity_main.xml file for layout design.
  5. In xml file, one button & one edit text should be there.
  6. Code is given below:

MainActivity.java

package com.example.texttospeech;

 

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.speech.tts.TextToSpeech;

import android.speech.tts.TextToSpeech.OnInitListener;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

 

      public class MainActivity extends Activity implements OnInitListener {

      EditText ee;

      Button b1;

      TextToSpeech tts;     

      @Override

      protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            ee=(EditText)findViewById(R.id.editText1);

            b1=(Button)findViewById(R.id.button1);

            b1.setOnClickListener(new OnClickListener() {

                 

                  @Override

                  public void onClick(View v) {

                        // TODO Auto-generated method stub

                        String str=ee.getText().toString();

                        tts.speak(str,TextToSpeech.QUEUE_FLUSH,null);

                  }

            });

           

            Intent i =new Intent();

            i.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);

            startActivityForResult(i, 1);                       

      } 

      @Override

      protected void onActivityResult(int requestCode, int resultCode, Intent data) {

      // TODO Auto-generated method stub

      super.onActivityResult(requestCode, resultCode, data);

     

      if(requestCode==1)

      {

            if(resultCode==TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)

            {

                  tts= new TextToSpeech(this,this);                 

            }                       

            else

            {

                  Intent i=new Intent();

                  i.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);

                  startActivity(i);                 

            }

      }     

   }

 

@Override

public void onInit(int status) {

      // TODO Auto-generated method stub

      if(status==TextToSpeech.SUCCESS)

      {

            Toast.makeText(getApplicationContext(), "engine installed",1000).show();

      }

     

      if(status==TextToSpeech.ERROR)

      {

            Toast.makeText(getApplicationContext(), "engine not installed", 1000).show();                      

      }

   }

}

activity_main.xml
 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity" >

 

    <EditText

        android:id="@+id/editText1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginTop="70dp"

        android:ems="10"

        android:inputType="textPersonName" />

    <Button

        android:id="@+id/button1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignRight="@+id/editText1"

        android:layout_below="@+id/editText1"

        android:layout_marginRight="49dp"

        android:layout_marginTop="101dp"

        android:text="Button" />

</RelativeLayout>

Image-1.jpg
 
Output

Write the text in edit text. Then click on button.

Image-2.jpg

Image-3.jpg

Abhijeet Singh
Abhijeet Singh

Hello Everyone,Currently I am working in a Software company as a Software Developer.I like writing articles on technologies.I am OCPJP(Oracle Certified Java Professional) Certified .I also like Android Programming.-----... Read more

COMMENT USING