2

How can I pronounce an English word in Android programming without internet connection?(offline pronounce). For example I want to get text from EditText and pronounce it by click on a button. How to do it? Thanks.

Editext editext = (EditText) findViewById(R.id.et);
Button button=(Button)findViewById(R.id.b);
button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                  //pronounce editext.getText().toString()

            }
            });

1 Answers1

3

source: https://www.tutorialspoint.com/android/android_text_to_speech.htm


import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.Locale;
import android.widget.Toast;

public class MainActivity extends Activity {
   TextToSpeech t1;
   EditText ed1;
   Button b1;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      ed1=(EditText)findViewById(R.id.editText);
      b1=(Button)findViewById(R.id.button);

      t1=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
         @Override
         public void onInit(int status) {
            if(status != TextToSpeech.ERROR) {
               t1.setLanguage(Locale.UK);
            }
         }
      });

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            String toSpeak = ed1.getText().toString();
            Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show();
            t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
         }
      });
   }

   public void onPause(){
      if(t1 !=null){
         t1.stop();
         t1.shutdown();
      }
      super.onPause();
   }
}
Songo
  • 5,618
  • 8
  • 58
  • 96