npm install --save react-native-android-text-to-speechreact-native link react-native-android-text-to-speechandroid/app/src/main/java/[...]/MainApplication.javaimport com.echo.reactandroidtts.RNAndroidTextToSpeechPackage; a las importaciones en la parte superior del archivonew RNAndroidTextToSpeechPackage() a la lista devuelta por el método getPackages()android/settings.gradle : include ':react-native-android-text-to-speech'
project(':react-native-android-text-to-speech').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-text-to-speech/android')
android/app/build.gradle : compile project(':react-native-android-text-to-speech')
La función de esta biblioteca de envoltura utiliza promesas en lugar de devoluciones de llamada. Se deben usar las async await ".Then ()" o ES2016. Se deben usar (recomendadas) las palabras clave.
import AndroidTextToSpeech from 'react-native-tts' ;AndroidTextToSpeech.speak(utterance, queueMode) para usar el motor TTS predeterminado para hablar. Donde 'enunciado' es de tipo cadena. 'QueueMode' puede tener valores - 1. "Agregar" - Añadir a la cola de juego TTS. 2. "Flush" - para interrumpir la cola de juego TTS con el enunciado y luego enjuagarla. Devuelve una promesa con UtteranceID.Ejemplo -
AndroidTextToSpeech . speak ( 'Hello, world!' , 'ADD' ) ;AndroidTextToSpeech.stop() para dejar de hablar y enjuagar la cola de juego TTS. Devuelve una promesa con "éxito". AndroidTextToSpeech . stop ( ) ; Ducking está destinado a reducir otras aplicaciones de salida de sonido mientras habla. Se puede habilitar utilizando la función AndroidTextToSpeech.setDucking(enable) . Donde 'habilitar' es un valor booleano. Devolver una promesa con éxito.
Ejemplo-
AndroidTextToSpeech . setDucking ( true )Se pueden recuperar varias listas con respecto al motor TTS.
AndroidTextToSpeech . getEnginesInfo ( ) ;Para enumerar todos los motores TTS disponibles en el dispositivo Android. Devuelve una promesa con la lista que contiene cadenas de nombres de paquetes de los motores instalados.
AndroidTextToSpeech . getCurrentEngineInfo ( ) ;Para obtener el nombre del motor TTS actual que se está utilizando. Devuelve una promesa con la cadena del nombre del paquete del motor TTS actualmente en uso.
AndroidTextToSpeech . getAvailableLocales ( ) ;Para obtener detalles de todos los idiomas disponibles del motor. Devuelve una promesa con un objeto del formulario -
{
languageName: string ; //Language display name as given by android
languageCode: string ; //Language code according to ISO 639-2 standards
coutryName: string ; //Country display name as given by android
countryCode: string ; //Country code according to ISO 3166-1 alpha-3 standards
} AndroidTextToSpeech . getDefaultLocale ( ) ;Para obtener detalles de la ubicación predeterminada utilizando el motor. Devuelve una promesa con un objeto del formulario -
{
languageName: string ; //Language display name as given by android
languageCode: string ; //Language code according to ISO 639-2 standards
coutryName: string ; //Country display name as given by android
countryCode: string ; //Country code according to ISO 3166-1 alpha-3 standards
} AndroidTextToSpeech . getCurrentLocale ( ) ;Para obtener detalles de la ubicación actual utilizada por el motor. Devuelve una promesa con un objeto del formulario -
{
languageName: string ; //Language display name as given by android
languageCode: string ; //Language code according to ISO 639-2 standards
coutryName: string ; //Country display name as given by android
countryCode: string ; //Country code according to ISO 3166-1 alpha-3 standards
} AndroidTextToSpeech . getAvailableVoices ( ) ;Para obtener detalles de todas las voces disponibles en el motor. Devuelve una promesa con un objeto del formulario -
{
voiceName: string ; //Name of the voice.
languageName: string ; //Language display name as given by android
languageCode: string ; //Language code according to ISO 639-2 standards
coutryName: string ; //Country display name as given by android
countryCode: string ; //Country code according to ISO 3166-1 alpha-3 standards
} AndroidTextToSpeech . getAvailableVoices ( ) ;Para obtener detalles de la voz actual utilizando el motor. Devuelve una promesa con un objeto del formulario -
{
voiceName: string ; //Name of the voice.
languageName: string ; //Language display name as given by android
languageCode: string ; //Language code according to ISO 639-2 standards
coutryName: string ; //Country display name as given by android
countryCode: string ; //Country code according to ISO 3166-1 alpha-3 standards
}Se pueden establecer varios atributos del habla
AndroidTextToSpeech . setDefaultLangauge ( languageCode ) ;Para establecer el idioma/localidad para ser utilizado por el motor. Donde 'LanguageCode' está en el formato de los estándares ISO 639-2. Devuelve una promesa con "éxito" o con error dependiendo del lenguaje que se encuentra.
AndroidTextToSpeech . setDefaultPitch ( pitch ) ;Para establecer el tono de voz para ser utilizado por el motor. Donde 'Pitch' es el discurso. 1.0 es el tono normal, los valores más bajos reducen el tono de la voz sintetizada, los valores mayores lo aumentan. Devuelve una promesa con "éxito".
AndroidTextToSpeech . setDefaultSpeechRate ( speechRate ) ;Para establecer la velocidad de reproducción para ser utilizada por el motor. Donde 'SpeechRate' es la tasa de habla. 1.0 es la tasa de voz normal, los valores más bajos ralentizan el habla (0.5 es la mitad de la velocidad de habla normal), los valores mayores lo aceleran (2.0 es el doble de la tasa de voz normal). Devuelve una promesa con "éxito".
Subcibia a los eventos de TTS.
AndroidTextToSpeech . addEventListener ( 'tts-start' , ( event ) => console . log ( "start" , event ) ) ;
AndroidTextToSpeech . addEventListener ( 'tts-finish' , ( event ) => console . log ( "finish" , event ) ) ;
AndroidTextToSpeech . addEventListener ( 'tts-error' , ( event ) => console . log ( "error" , event ) ) ; async function sayHello ( ) {
let result = await AndroidTextToSpeech . speak ( "Hello World!" , "ADD" ) ;
console . log ( result ) ;
return result ;
}
async function getLanguageDetails ( ) {
let list = await AndroidTextToSpeech . getAvailableLocales ( ) ;
console . log ( list ) ;
return list ;
} DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (c) 2004 Sam Hocevar [email protected]
A todos se les permite copiar y distribuir copias literales o modificadas de este documento de licencia, y cambiarlo se permite siempre que se cambie el nombre.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Términos y condiciones para copiar, distribución y modificación