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; para as importações no topo do arquivonew RNAndroidTextToSpeechPackage() à lista retornada pelo 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')
A função desta biblioteca de wrapper usa promessas em vez de retornos de chamada. O async await (recomendado) deve ser usado.
import AndroidTextToSpeech from 'react-native-tts' ;AndroidTextToSpeech.speak(utterance, queueMode) para usar o mecanismo TTS padrão para falar. Onde 'enunciado' é da string de tipo. 'Queuemode' pode ter valores - 1. "Adicionar" - para adicionar à fila TTS Play. 2. "Flush" - para interromper a fila TTS reproduzir com o enunciado e depois lavá -la. Retorna uma promessa com UtterranceID.Exemplo -
AndroidTextToSpeech . speak ( 'Hello, world!' , 'ADD' ) ;AndroidTextToSpeech.stop() para parar de falar e lavar a fila TTS Play. Devolver uma promessa com "sucesso". AndroidTextToSpeech . stop ( ) ; A esquiva deve diminuir outras aplicações, o nível de som de saída enquanto fala. Ele pode ser ativado usando a função AndroidTextToSpeech.setDucking(enable) . Onde 'Enable' é um valor booleano. Devolver uma promessa com sucesso.
Exemplo-
AndroidTextToSpeech . setDucking ( true )Várias listas podem ser recuperadas em relação ao mecanismo TTS.
AndroidTextToSpeech . getEnginesInfo ( ) ;Para listar todos os motores TTS disponíveis no dispositivo Android. Retorna uma promessa com lista contendo seqüências de nomes de pacotes dos motores instalados.
AndroidTextToSpeech . getCurrentEngineInfo ( ) ;Para obter o nome do mecanismo TTS atual usado. Retorna uma promessa com a sequência do nome do pacote atualmente em uso do mecanismo TTS.
AndroidTextToSpeech . getAvailableLocales ( ) ;Para obter detalhes de todos os idiomas disponíveis do motor. Retorna uma promessa com um objeto da forma -
{
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 obter detalhes do local padrão usado pelo mecanismo. Retorna uma promessa com um objeto da forma -
{
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 obter detalhes do local atual usado pelo mecanismo. Retorna uma promessa com um objeto da forma -
{
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 obter detalhes de todas as vozes disponíveis no motor. Retorna uma promessa com um objeto da forma -
{
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 obter detalhes da voz atual usada pelo mecanismo. Retorna uma promessa com um objeto da forma -
{
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
}Vários atributos de fala podem ser definidos
AndroidTextToSpeech . setDefaultLangauge ( languageCode ) ;Para definir o idioma/localidade a ser usado pelo mecanismo. Onde 'LanguageCode' está no formato dos padrões ISO 639-2. Retorna uma promessa com "sucesso" ou com erro, dependendo do idioma encontrado.
AndroidTextToSpeech . setDefaultPitch ( pitch ) ;Para definir o tom de voz a ser usado pelo motor. Onde 'pitch' é o discurso de fala. 1.0 é o tom normal, os valores mais baixos diminuem o tom da voz sintetizada, os valores maiores a aumentam. Retorna uma promessa com "sucesso".
AndroidTextToSpeech . setDefaultSpeechRate ( speechRate ) ;Para definir a velocidade de reprodução a ser usada pelo motor. Onde 'taxa de fala' é a taxa de fala. 1.0 é a taxa de fala normal, os valores mais baixos diminuem a fala (0,5 é metade da taxa de fala normal), maiores valores a aceleram (2,0 é o dobro da taxa de fala normal). Retorna uma promessa com "sucesso".
Subscibe aos eventos 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]
Todos têm permissão para copiar e distribuir cópias literalmente ou modificadas deste documento de licença e alterá -lo é permitido desde que o nome seja alterado.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Termos e condições para copiar, distribuição e modificação