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
複製,分發和修改的條款和條件