Tuesday 15 March 2016

Text To Speech Android

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.Nolokal
1KAMI
2CANADA_FRENCH
3JERMAN
4ITALIA
5JEPANG
6CINA
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.NoMetode & deskripsi
1addSpeech (String teks, String nama file)
Metode ini menambahkan pemetaan antara string teks dan file suara.
2getLanguage ()
Metode ini mengembalikan turunan Lokal menggambarkan bahasa.
3isSpeaking ()
Metode ini memeriksa apakah mesin TextToSpeech sibuk berbicara.
4setPitch (float lapangan)
Metode ini menetapkan lapangan pidato untuk mesin TextToSpeech.
5setSpeechRate (mengapung speechRate)
Metode ini menetapkan tingkat pidato.
6shutdown()
Metode ini melepaskan sumber daya yang digunakan oleh mesin TextToSpeech.
7stop()
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.
TanggaDeskripsi
1Anda 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.
2Memodifikasi src file / MainActivity.java menambahkan kode TextToSpeech.
3Memodifikasi tata letak file XML res / layout / activity_main.xml menambahkan komponen GUI jika diperlukan.
4Jalankan 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