Cara Membuat Text to Speech Di Android / Eclipse
Android memungkinkan Anda mengubah teks Anda menjadi suara. Anda tidak hanya dapat mengonversinya tetapi juga memungkinkan Anda untuk berbicara
teks dalam berbagai bahasa berbeda.
Android menyediakan kelas TextToSpeech untuk tujuan ini. Untuk menggunakan kelas ini, Anda harus membuat instance objek dari kelas ini dan juga menentukan initListner. Sintaksnya diberikan di bawah ini:
private EditText write;
ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
}
}
);
Di pendengar ini, Anda harus menentukan properti untuk objek TextToSp
asa
seperti bahasanya, pitch e.t.c.Bahasa dapat diatur dengan memanggil metode setLanguage (). Sintaksnya diberikan di bawah ini:
ttobj.setLanguage(Locale.UK);
Metode setLanguage mengambil objek Lokal sebagai parameter. Daftar beberapa lokal yang tersedia diberikan di bawah ini:
Setelah mengatur bahasa, Anda dapat memanggil speak method of the class. Sintaksnya diberikan di bawah ini:
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
Method & description
addSpeech(String text, String filename)
Metode ini menambahkan pemetaan antara string teks dan file suara.
getLanguage()
Metode ini mengembalikan contoh lokal yang menggambarkan bahasa.
isSpeaking()
Metode ini memeriksa apakah mesin TextToSpeech sedang sibuk berbicara.
setPitch(float pitch)
Metode ini menetapkan nada bicara untuk mesin TextToSpeech.
setSpeechRate(float speechRate)
Metode ini menetapkan tingkat bicara.
shutdown()
Metode ini melepaskan sumber daya yang digunakan oleh mesin TextToSpeech.
stop()
Metode ini menghentikan pembicaraan.
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" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="188dp"
android:layout_marginRight="67dp"
android:onClick="speakText"
android:text="@string/text1" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="81dp"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/write"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Baca Juga: Cara Menggunakan Tabel Layout di Eclipse
MainActivity.java
package com.example.zamalposttexttospeech;
import java.util.Locale;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
TextToSpeech ttobj;
private EditText write;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
write = (EditText)findViewById(R.id.editText1);
ttobj=new TextToSpeech(getApplicationContext(),
new TextToSpeech.OnInitListener() { @Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
ttobj.setLanguage(Locale.UK);
}
}
});
}
@Override
public void onPause(){
if(ttobj !=null){
ttobj.stop();
ttobj.shutdown();
}
super.onPause();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void speakText(View view){
String toSpeak = write.getText().toString();
Toast.makeText(getApplicationContext(), toSpeak,
Toast.LENGTH_SHORT).show();
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
}
}
string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ZamalPost Text To Speech</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="text1">Text to Speech</string>
<string name="write">Write Text</string>
</resources>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.zamalposttexttospeech"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/zamalpost"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.zamalposttexttospeech.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Mari kita coba jalankan aplikasi Text to Speech Anda. Gunakan kal USB dan jangan lupa pastinya Anda harus mengistal Driver terlebih dahulu. Saya menganggap Anda telah menghubungkan Ponsel Android Anda ke Laptop/PC Anda. Anda juga bisa menginstal Vysor sebagai Emulator.
Untuk menjalankan aplikasi dari Eclipse, buka salah satu file aktivitas proyek Anda dan klik ikon Jalankan dari bilah alat berwarna hijau. Sebelum memulai aplikasi Anda, Eclipse akan menampilkan jendela berikut untuk memilih opsi tempat Anda ingin menjalankan aplikasi Android Anda.
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
Method & description
addSpeech(String text, String filename)
Metode ini menambahkan pemetaan antara string teks dan file suara.
getLanguage()
Metode ini mengembalikan contoh lokal yang menggambarkan bahasa.
isSpeaking()
Metode ini memeriksa apakah mesin TextToSpeech sedang sibuk berbicara.
setPitch(float pitch)
Metode ini menetapkan nada bicara untuk mesin TextToSpeech.
setSpeechRate(float speechRate)
Metode ini menetapkan tingkat bicara.
shutdown()
Metode ini melepaskan sumber daya yang digunakan oleh mesin TextToSpeech.
stop()
Metode ini menghentikan pembicaraan.
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" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="188dp"
android:layout_marginRight="67dp"
android:onClick="speakText"
android:text="@string/text1" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="81dp"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="@string/write"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Baca Juga: Cara Menggunakan Tabel Layout di Eclipse
MainActivity.java
package com.example.zamalposttexttospeech;
import java.util.Locale;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
TextToSpeech ttobj;
private EditText write;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
write = (EditText)findViewById(R.id.editText1);
ttobj=new TextToSpeech(getApplicationContext(),
new TextToSpeech.OnInitListener() { @Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
ttobj.setLanguage(Locale.UK);
}
}
});
}
@Override
public void onPause(){
if(ttobj !=null){
ttobj.stop();
ttobj.shutdown();
}
super.onPause();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void speakText(View view){
String toSpeak = write.getText().toString();
Toast.makeText(getApplicationContext(), toSpeak,
Toast.LENGTH_SHORT).show();
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
}
}
string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ZamalPost Text To Speech</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="text1">Text to Speech</string>
<string name="write">Write Text</string>
</resources>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.zamalposttexttospeech"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/zamalpost"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.zamalposttexttospeech.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Mari kita coba jalankan aplikasi Text to Speech Anda. Gunakan kal USB dan jangan lupa pastinya Anda harus mengistal Driver terlebih dahulu. Saya menganggap Anda telah menghubungkan Ponsel Android Anda ke Laptop/PC Anda. Anda juga bisa menginstal Vysor sebagai Emulator.
Untuk menjalankan aplikasi dari Eclipse, buka salah satu file aktivitas proyek Anda dan klik ikon Jalankan dari bilah alat berwarna hijau. Sebelum memulai aplikasi Anda, Eclipse akan menampilkan jendela berikut untuk memilih opsi tempat Anda ingin menjalankan aplikasi Android Anda.
Tampilan AVD
Pilih aktif Emulator lalu OK
Aplikasi Yang Dijalankan
Text to Speech |
Baca Juga: Membuat Kalkulator Android di ECLIPSE
Silahkan download project disini
Semoga ini dapat membantu masalah Anda dalam mempelajari Text to Speech Android
0 Response to "Cara Membuat Text to Speech Di Android / Eclipse"
Post a Comment