¿Cómo convertir texto a voz en Android?

La aplicación Text to Speech convierte el texto escrito en la pantalla en voz como si hubiera escrito «Hello World» en la pantalla y cuando presiona el botón dirá «Hello World». El texto a voz se usa comúnmente como una función de accesibilidad para ayudar a las personas que tienen problemas para leer el texto en pantalla, pero también es conveniente para aquellos que también quieren que les lean.

Running Condition of the App

Nota: Para implementar su viceversa, es decir, convertir voz a texto, consulte ¿Cómo convertir voz a texto en Android?

Pasos para convertir texto a voz en Android

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.

Paso 2: trabajar con el archivo activity_main.xml

Vaya a la sección aplicación -> res -> diseño -> actividad_principal.xml y configure el diseño de la aplicación. En este archivo, agregue un EditText para ingresar el texto del usuario, un Button , de modo que cada vez que el usuario haga clic en el Button, se convierta en voz y un TextView para mostrar el texto de GeeksforGeeks. A continuación se muestra el código completo para el archivo activity_main.xml .

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_margin="30dp"
    tools:context=".MainActivity">
    
    <!--To add text in the app-->
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/Text"
        android:layout_marginBottom="20dp"
        android:hint="Enter Any Sentence"
        android:gravity="center"
        android:textSize="16dp"/>
    
    <!--when you press this button it will 
        convert text into speech-->
    <Button
        android:layout_width="wrap_content"
        android:id="@+id/btnText"
        android:layout_height="wrap_content"
        android:text="Click Here"
        android:layout_gravity="center"/>
  
    <!--To display the name of GeeksForGeeks -->
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="70dp"
        android:gravity="center_horizontal"
        android:text="GEEKSFORGEEKS"
        android:textColor="@android:color/holo_green_dark"
        android:textSize="36sp" />
  
</LinearLayout>

Paso 3: trabajar con el archivo MainActivity.java

Vaya a la aplicación -> java -> com.example.GFG (Nombre del paquete) -> sección MainActivity.java. Ahora una el botón y Edittext al código Java y se agregan comentarios dentro del código para entender el código fácilmente. A continuación se muestra el código completo del archivo MainActivity.java .

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
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;
  
public class MainActivity extends AppCompatActivity {
  
    EditText Text;
    Button btnText;
    TextToSpeech textToSpeech;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
        Text = findViewById(R.id.Text);
        btnText = findViewById(R.id.btnText);
  
        // create an object textToSpeech and adding features into it
        textToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int i) {
  
                // if No error is found then only it will run
                if(i!=TextToSpeech.ERROR){ 
                    // To Choose language of speech
                    textToSpeech.setLanguage(Locale.UK); 
                }
            }
        });
  
        // Adding OnClickListener
        btnText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                textToSpeech.speak(Text.getText().toString(),TextToSpeech.QUEUE_FLUSH,null);
            }
        });
  
    }
}

El usuario también puede elegir otro idioma. Para eso, consulte la imagen a continuación para ver cómo hacerlo.

Salida: ejecutar en el emulador

Publicación traducida automáticamente

Artículo escrito por kartiksrivastava6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *