react-native-speak
A wonderful TTS (text-to-speech) library for React Native.
TOC
Installation
Using npm:
npm install --save react-native-speak
or using yarn:
yarn add react-native-speak
Linking
Automatic
react-native link react-native-speak
For iOS users using Pods:
You need to run pod install
after running the above link command inside your ios
folder.
Manual
iOS (via CocoaPods)
Add the following line to your build targets in your Podfile
pod 'RNSpeak', :path => '../node_modules/react-native-speak'
Then run pod install
iOS (without CocoaPods)
In XCode, in the project navigator:
- Right click Libraries
- Add Files to [your project's name]
- Go to
node_modules/react-native-speak
- Add the
.xcodeproj
file
In XCode, in the project navigator, select your project.
- Add the
libRNSpeak.a
from the RNSpeak project to your project's Build Phases ➜ Link Binary With Libraries - Click
.xcodeproj
file you added before in the project navigator and go the Build Settings tab. Make sure All is toggled on (instead of Basic). - Look for Header Search Paths and make sure it contains both
$(SRCROOT)/../react-native/React
and$(SRCROOT)/../../React
- Mark both as recursive (should be OK by default).
Run your project (Cmd+R)
Android
- optional in
android/build.gradle
:
... ext { // dependency versions googlePlayServicesVersion = "<Your play services version>" // default: "+" compileSdkVersion = "<Your compile SDK version>" // default: 23 buildToolsVersion = "<Your build tools version>" // default: "25.0.2" targetSdkVersion = "<Your target SDK version>" // default: 22 }...
- in
android/app/build.gradle
:
dependencies { ... implementation "com.facebook.react:react-native:+" // From node_modules+ implementation project(':react-native-speak')}
- in
android/settings.gradle
:
...include ':app'+ include ':react-native-speak'+ project(':react-native-speak').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-speak/android')
- in
MainApplication.java
:
+ import com.truckmap.RNSpeak.RNSpeak; public class MainApplication extends Application implements ReactApplication { //...... @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList(+ new RNSpeak(), new MainReactPackage() ); } ...... }
NOTE: If you faced with this error: Could not resolve all files for configuration ':react-native-speak:debugCompileClasspath'.
, in build.gradle
put google()
in the first line (according to https://stackoverflow.com/a/50748249)
- in
android/build.gradle
:
allprojects { repositories {+ google() ... }}
Usage
;
API
Method | Return Type | iOS | Android |
---|---|---|---|
speak() | Promise<any> |
✅ | ✅ |
speak()
speak(text: string)
Speaks a phrase.
Examples
Speech; // speaks the given phrase.
Events
onSpeechStart
Fired when speech has started.
Examples
const speechEventEmitter = NativeModulesRNSpeak speechEventEmitter;
onSpeechEnd
Fired when speech has ended.
Examples
const speechEventEmitter = NativeModulesRNSpeak speechEventEmitter;
onSpeechError
Fired when an error is found in the speech pipeline. (TBD)
Examples
const speechEventEmitter = NativeModulesRNSpeak speechEventEmitter;
Release Notes
See the CHANGELOG.md.
Contributing
Please see the contributing guide
.