Учебники

Android — текст в речь

Android позволяет конвертировать ваш текст в голос. Вы можете не только конвертировать его, но и говорить на разных языках.

Android предоставляет класс TextToSpeech для этой цели. Чтобы использовать этот класс, вам нужно создать экземпляр объекта этого класса, а также указать initListener . Его синтаксис приведен ниже —

private EditText write;
ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
   @Override
   public void onInit(int status) {
   }
});

В этом слушателе вы должны указать свойства объекта TextToSpeech, такие как его язык, высота тона и т. Д. Язык можно установить, вызвав метод setLanguage () . Его синтаксис приведен ниже —

ttobj.setLanguage(Locale.UK);

Метод setLanguage принимает объект Locale в качестве параметра. Список некоторых доступных локалей приведен ниже —

Sr.No место действия
1 НАС
2 CANADA_FRENCH
3 ГЕРМАНИЯ
4 ИТАЛИЯ
5 ЯПОНИЯ
6 КИТАЙ

После того, как вы установили язык, вы можете вызвать метод класса говорить, чтобы произнести текст. Его синтаксис приведен ниже —

ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);

Помимо метода speak, в классе TextToSpeech доступны и другие методы. Они перечислены ниже —

Sr.No Метод и описание
1

addSpeech (текст строки, имя файла строки)

Этот метод добавляет отображение между строкой текста и звуковым файлом.

2

GetLanguage ()

Этот метод возвращает экземпляр Locale, описывающий язык.

3

говорит()

Этот метод проверяет, занят ли механизм TextToSpeech разговором.

4

setPitch (плавная подача)

Этот метод устанавливает речевую высоту для механизма TextToSpeech.

5

setSpeechRate (float speechRate)

Этот метод устанавливает скорость речи.

6

неисправность()

Этот метод освобождает ресурсы, используемые движком TextToSpeech.

7

стоп()

Этот метод остановить разговор.

addSpeech (текст строки, имя файла строки)

Этот метод добавляет отображение между строкой текста и звуковым файлом.

GetLanguage ()

Этот метод возвращает экземпляр Locale, описывающий язык.

говорит()

Этот метод проверяет, занят ли механизм TextToSpeech разговором.

setPitch (плавная подача)

Этот метод устанавливает речевую высоту для механизма TextToSpeech.

setSpeechRate (float speechRate)

Этот метод устанавливает скорость речи.

неисправность()

Этот метод освобождает ресурсы, используемые движком TextToSpeech.

стоп()

Этот метод остановить разговор.

пример

Приведенный ниже пример демонстрирует использование класса TextToSpeech. Это базовое приложение, которое позволяет вам задавать текст и произносить его.

Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве.

меры Описание
1 Вы будете использовать Android studio для создания приложения Android в пакете com.example.sairamkrishna.myapplication.
2 Измените файл src / MainActivity.java, чтобы добавить код TextToSpeech.
3 Измените XML-файл макета. Res / layout / activity_main.xml добавьте любой компонент GUI, если это необходимо.
4 Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Вот содержание src / MainActivity.java .

package com.example.sairamkrishna.myapplication;

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();
   }
}

Вот содержание activity_main.xml

В следующем коде abc указывает логотип tutorialspoint.com

<?xml version="1.0" encoding="utf-8"?>
<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="Tutorials point"
      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>

Вот содержимое Strings.xml .

<resources>
   <string name="app_name">My Application</string>
</resources>

Вот содержание 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>

Давайте попробуем запустить ваше приложение. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». Eclipse Run Icon значок с панели инструментов. Перед запуском вашего приложения, Android Studio покажет следующее окно, чтобы выбрать вариант, где вы хотите запустить свое приложение Android.

Учебник по переводу текста в речь

Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, которое отобразит следующий экран.

Android Text To Speech Tutorial

Теперь просто введите текст в поле и нажмите кнопку преобразования текста в речь ниже. Появится уведомление и произнесется текст. Это показано на рисунке ниже —

Android Text To Speech Tutorial

Теперь напечатайте что-нибудь еще и повторите шаг снова с другим языком. Вы снова услышите звук. Это показано ниже —