Belajar Bahasa Inggris dengan Aplikasi Android Buatan Sendiri

Pernahkah kita mengalami, ketika kita bicara bahasa inggris lawan bicara kita tidak mengerti apa yang kita ucapkan, Sampai-sampai kita ambil kertas dan pulpen untuk menuliskannya. Kalau dulu mungkin bingung harus bertanya kemana. Mau nanya juga agak gengsi, walaupun kalau tak bertanya akan sesat dijalan.

Android sungguh penomenal kita bisa membuat aplikasi yang dapat membantu kita bahkan orang lain dalam pengucapan kata bahasa inggris yang benar hanya dengan beberapa line code dengan memanfaatkan library Android Text to Speech. Wow gimana caranya. Buat yang penasaran mari bersama kita buat aplikasinya.

1. Buat Project baru seperti dibawah ini

2. Sekarang saatnya membuat layoutnya, edit main_activity.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:padding="10dp"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Type Text Here" />

    <EditText
        android:id="@+id/editTextWord"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/textView1"
        android:ems="10"
        android:inputType="textMultiLine" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/buttonReset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/editTextWord"
        android:text="Reset" />

    <Button
        android:id="@+id/buttonSayIt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/buttonReset"
        android:layout_alignBottom="@+id/buttonReset"
        android:layout_toLeftOf="@+id/buttonReset"
        android:text="Say It" />

</RelativeLayout>

3. Sekarang saatnya untuk mengedit otak dari aplikasi kita yaitu pada class MainActivity.java

package com.batikmob.englishpronunciation;

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 MainActivity extends Activity implements TextToSpeech.OnInitListener {
   /** Called when the activity is first created. */

   private TextToSpeech texttospeech;
   private Button btnSayIt, btnReset;
   private EditText edtWord;
  
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       texttospeech = new TextToSpeech(this, this);

       btnSayIt = (Button) findViewById(R.id.buttonSayIt);
       btnReset = (Button) findViewById(R.id.buttonReset);
       edtWord = (EditText) findViewById(R.id.editTextWord);
    
       // button on click event listener
       btnSayIt.setOnClickListener(new View.OnClickListener() {

           @Override
           public void onClick(View arg0) {
        	   // TODO Auto-generated method stub
               sayIt();             
           }

       });
       
       btnReset.setOnClickListener(new View.OnClickListener() {
		
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				edtWord.setText("");
			}
       });
   }
   
  

   @Override
   public void onDestroy() {
       // Don't forget to shutdown tts!
       if (texttospeech != null) {
           texttospeech.stop();
           texttospeech.shutdown();
       }
       super.onDestroy();
   }

   @Override
   public void onInit(int status) {

       if (status == TextToSpeech.SUCCESS) {

           int result = texttospeech.setLanguage(Locale.US);

           if (result == TextToSpeech.LANG_MISSING_DATA
                   || result == TextToSpeech.LANG_NOT_SUPPORTED) {
               Log.e("TTS", "This Language is not supported");
           } else {
               btnSayIt.setEnabled(true);
             //  speakOut();
           }

       } else {
           Log.e("TTS", "Initilization Failed!");
       }

   }

   //method for say text in english pronunciation
   private void sayIt() {

       String text = edtWord.getText().toString();
       if (text.equals("")){
    	   Toast.makeText(MainActivity.this, "Please Type Text First !", Toast.LENGTH_SHORT).show();    	   
       }else{
    	   texttospeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
       }
   }
}

4. Sekarang saatnya kita run aplikasi kita.

    Ketikan “Good Morning” lalu klik atau tap button Say IT dan akan terdengar suara yang mengucapkan kata “Good Morning”.

Sekarang sudah bulan desember, masih ingatkah dengan target yang ingin kita capai ditahun ini, sudahkah target-targetnya terpenuhi. Kalau belum masih ada beberapa minggu untuk memenuhinya ayoo semangat. Buat yang sedang skripsi dan tesis tambah lagi semangatnya jangan sampai tidak lulus di semester ini karena kita akan rugi waktu dan biaya. Jika ada kesulitan jangan ragu untuk konsultasi dengan Dosen Pembimbing.

Semoga Bermanfaat

Salam Hangat Developer Android

Agus Haryanto

Referensi

http://www.androidhive.info

7 comments to Belajar Bahasa Inggris dengan Aplikasi Android Buatan Sendiri

  • Ruben

    Mas,kalo pke bahasa daerah apa juga tetap sama bisa mengeluarkan suara yg kita tulis dlm bahasa daerah ?tq mohon bimbingannya,,,,

  • Agus Haryanto

    @Ruben, Tidak bisa karena ttsnya belum support untuk bahasa daerah

  • Jefry

    Mas Agus, tutorialnya sgt2 mmbantu
    thanks for that
    tapi mau tnya nih mas, supported language kan cmn dkit tuh mas.. Klo mau nmbah kyk arabic, bulgarian, vietnamese, thai itu kira2 bisa gk mas ?
    thanks in advance

  • arif

    mas agus, pada aplikasi ini ada berapa macam bahasa yang support..

  • amel

    mas agus,
    saat saya run, kenapa masih muncul error dan aplikasinya tidak tampil?
    thx 🙂

  • cc

    mas agus, kalau mau buat aplikasi TTS pake bahasa daerah, kita perlu tools apa saja?

  • Mas Agus, kalo TTS yang di atas itu menggunakan pemanfaatan TTS Engine atau library dari sdk android ? mohon penjelasannya ?

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>