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')
ฟังก์ชั่นของ Library Wrapper นี้ใช้สัญญาแทนการโทรกลับ ควรใช้คำ async await (แนะนำ () "หรือ es2016 ของ ES2016
import AndroidTextToSpeech from 'react-native-tts' ;AndroidTextToSpeech.speak(utterance, queueMode) เพื่อใช้เครื่องยนต์ TTS เริ่มต้นเพื่อพูด โดยที่ 'คำพูด' เป็นประเภทสตริง 'queuemode' สามารถมีค่า - 1. "เพิ่ม" - เพื่อเพิ่มลงในคิวเล่น TTS 2. "Flush" - เพื่อขัดจังหวะ TTS เล่นคิวด้วยคำพูดแล้วล้างออก ส่งคืนสัญญาด้วยคำพูดตัวอย่าง -
AndroidTextToSpeech . speak ( 'Hello, world!' , 'ADD' ) ;AndroidTextToSpeech.stop() เพื่อหยุดพูดและล้าง TTS เล่นคิว คืนสัญญาด้วย "ความสำเร็จ" AndroidTextToSpeech . stop ( ) ; การเป็ดนั้นมีไว้เพื่อลดระดับเสียงแอปพลิเคชันอื่น ๆ ในขณะที่พูด สามารถเปิดใช้งานได้โดยใช้ฟังก์ชั่น AndroidTextToSpeech.setDucking(enable) โดยที่ 'เปิดใช้งาน' เป็นค่าบูลีน คืนสัญญาด้วยความสำเร็จ
ตัวอย่าง-
AndroidTextToSpeech . setDucking ( true )รายการต่างๆสามารถเรียกดูได้เกี่ยวกับเครื่องยนต์ TTS
AndroidTextToSpeech . getEnginesInfo ( ) ;เพื่อแสดงรายการเครื่องยนต์ TTS ทั้งหมดที่มีอยู่บนอุปกรณ์ Android ส่งคืนสัญญาพร้อมรายการที่มีสตริงชื่อแพ็คเกจของเครื่องยนต์ที่ติดตั้ง
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 เป็นครึ่งหนึ่งของอัตราการพูดปกติ) ค่าที่มากขึ้นจะเร่งความเร็ว (2.0 เป็นสองเท่าของอัตราการพูดปกติ) ส่งคืนสัญญาด้วย "ความสำเร็จ"
subscibe ถึงกิจกรรม 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
ข้อกำหนดและเงื่อนไขสำหรับการคัดลอกการกระจายและการปรับเปลี่ยน