Android memungkinkan Anda mengkonversi teks menjadi suara. Tidak hanya Anda dapat mengubahnya tetapi juga memungkinkan Anda untuk berbicara teks dalam berbagai bahasa yang berbeda.
Android menyediakan kelas TextToSpeech untuk tujuan ini. Untuk menggunakan kelas ini, Anda perlu instantiate sebuah objek dari kelas ini dan juga menentukan initListnere. sintaks diberikan di bawah ini:
private EditText write; ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { } } );
Dalam pendengar ini, Anda harus menentukan properti untuk TextToSpeech objek, seperti bahasanya, lapangan dll Bahasa dapat diatur dengan memanggil() metode setLanguage. sintaks diberikan di bawah ini -
ttobj.setLanguage(Locale.UK);
Metode setLanguage mengambil obyek Lokal sebagai parameter. Daftar dari beberapa lokal tersedia diberikan di bawah ini -
Sr.No | lokal |
---|---|
1 | KAMI |
2 | CANADA_FRENCH |
3 | JERMAN |
4 | ITALIA |
5 | JEPANG |
6 | CINA |
Setelah Anda telah mengatur bahasa, Anda dapat memanggil metodeberbicara kelas untuk berbicara teks. sintaks diberikan di bawah ini -
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
Terlepas dari metode berbicara, ada beberapa metode lain yang tersedia di kelas TextToSpeech. Mereka terdaftar di bawah ini:
Sr.No | Metode & deskripsi |
---|---|
1 | addSpeech (String teks, String nama file)
Metode ini menambahkan pemetaan antara string teks dan file suara.
|
2 | getLanguage ()
Metode ini mengembalikan turunan Lokal menggambarkan bahasa.
|
3 | isSpeaking ()
Metode ini memeriksa apakah mesin TextToSpeech sibuk berbicara.
|
4 | setPitch (float lapangan)
Metode ini menetapkan lapangan pidato untuk mesin TextToSpeech.
|
5 | setSpeechRate (mengapung speechRate)
Metode ini menetapkan tingkat pidato.
|
6 | shutdown()
Metode ini melepaskan sumber daya yang digunakan oleh mesin TextToSpeech.
|
7 | stop()
Metode ini berhenti berbicara itu.
|
Contoh
Contoh di bawah ini menunjukkan penggunaan kelas TextToSpeech. Ini peti aplikasi dasar yang memungkinkan Anda untuk mengatur menulis teks dan berbicara itu.
Untuk bereksperimen dengan contoh ini, Anda perlu menjalankan ini pada perangkat yang sebenarnya.
Tangga | Deskripsi |
---|---|
1 | Anda akan menggunakan studio Android untuk membuat aplikasi Android di bawah com.example.sairamkrishna.myapplication paket.Sementara menciptakan proyek ini, pastikan Anda Targetkan SDK dan Kompilasi Dengan di versi terbaru dari Android SDK untuk menggunakan tingkat yang lebih tinggi dari API. |
2 | Memodifikasi src file / MainActivity.java menambahkan kode TextToSpeech. |
3 | Memodifikasi tata letak file XML res / layout / activity_main.xml menambahkan komponen GUI jika diperlukan. |
4 | Jalankan aplikasi dan memilih perangkat android berjalan dan menginstal aplikasi di atasnya dan memverifikasi hasil. |
Berikut adalah isi dari src / MainActivity.java.
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.hardware.SensorManager; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.util.List; import java.util.Locale; import android.hardware.Sensor; import android.hardware.SensorManager; 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(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Berikut adalah isi dari 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:transitionGroup="true"> <TextView android:text="Text to Speech" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="35dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="My TTS" android:id="@+id/textView" android:layout_below="@+id/textview" android:layout_centerHorizontal="true" android:textColor="#ff7aff24" android:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:theme="@style/Base.TextAppearance.AppCompat" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_below="@+id/imageView" android:layout_marginTop="46dp" android:hint="Enter Text" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:textColor="#ff7aff10" android:textColorHint="#ffff23d1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Text to Speech" android:id="@+id/button" android:layout_below="@+id/editText" android:layout_centerHorizontal="true" android:layout_marginTop="46dp" /> </RelativeLayout>
Berikut adalah isi dari strings.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Berikut adalah isi dari AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".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 untuk menjalankan aplikasi Anda. Saya berasumsi bahwa Anda telah terhubung sebenarnya perangkat Android Ponsel Anda dengan komputer Anda. Untuk menjalankan aplikasi dari studio Android, buka salah satu file kegiatan proyek Anda dan klik Run
No comments:
Post a Comment