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;到文件顶部的导入new RNAndroidTextToSpeechPackage()添加到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')
该包装库的功能使用承诺而不是回调。应使用“ .then(then()”或ES2016的async await (推荐)关键字。
import AndroidTextToSpeech from 'react-native-tts' ;AndroidTextToSpeech.speak(utterance, queueMode)的功能使用默认的TTS引擎来说话。其中的“话语”是类型字符串。 'queuemode'可以具有值-1。“ add” - 添加到tts play队列中。 2。“齐平” - 用话语打断TTS播放队列,然后冲洗。带着TusteranceId返回诺言。例子 -
AndroidTextToSpeech . speak ( 'Hello, world!' , 'ADD' ) ;AndroidTextToSpeech.stop()函数停止说话并冲洗TTS播放队列。以“成功”回报承诺。 AndroidTextToSpeech . stop ( ) ;鸭子的意思是在说话时降低其他应用程序的声音级别。可以通过使用功能AndroidTextToSpeech.setDucking(enable)启用它。 “启用”是一个布尔值。取得成功的诺言。
例子-
AndroidTextToSpeech . setDucking ( true )可以检索有关TTS引擎的各种列表。
AndroidTextToSpeech . getEnginesInfo ( ) ;要在Android设备上列出所有可用的TTS引擎。返回包含已安装引擎包装名称字符串的列表的承诺。
AndroidTextToSpeech . getCurrentEngineInfo ( ) ;要获取当前使用的TTS引擎的名称。返回使用当前使用TTS引擎的包装名称的字符串。
AndroidTextToSpeech . getAvailableLocales ( ) ;获取引擎所有可用语言的详细信息。用形式的对象返回承诺 -
{
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 ( ) ;获取引擎正在使用的默认场所的详细信息。用形式的对象返回承诺 -
{
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 ( ) ;获取引擎正在使用的当前语言环境的详细信息。用形式的对象返回承诺 -
{
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 ( ) ;获取引擎中所有可用声音的详细信息。用形式的对象返回承诺 -
{
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 ( ) ;获取引擎正在使用的当前声音的详细信息。用形式的对象返回承诺 -
{
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 . setDefaultLangauge ( languageCode ) ;设置要使用引擎使用的语言/环境。 “ languagecode”的位置是ISO 639-2标准的格式。根据“成功”或错误的不同,返回承诺,具体取决于所发现的语言。
AndroidTextToSpeech . setDefaultPitch ( pitch ) ;设置发动机使用的语音音高。 “音高”是语音音调。 1.0是正常的音高,较低的值降低综合语音的音调,更大的值会增加它。返回“成功”的承诺。
AndroidTextToSpeech . setDefaultSpeechRate ( speechRate ) ;设置发动机使用的播放速度。 “语音率”是语音率。 1.0是正常的语音率,较低的值降低了语音(0.5是正常语音率的一半),更大的值加速了IT(2.0是正常语音率的两倍)。返回“成功”的承诺。
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
版权(c)2004 sam hocevar [email protected]
允许每个人都可以复制和分发该许可文档的逐字或修改副本,只要更改名称,就可以更改它。
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
复制,分发和修改的条款和条件