@potatoma/react-native-baidu-vtts
Version:
A ReactNative library can do text to speech
93 lines (68 loc) • 2.79 kB
Markdown
# @potatoma/react-native-baidu-vtts
This is an React-native library that can do text-to-speech
Forked from [react-native-baidu-vtts](https://www.npmjs.com/package/react-native-baidu-vtts)
### What is the difference
1. Added stop method to stop synthesis and stop playback.
2. Init with female voice.
### Before
please follow this page [ReactNative集成百度语音合成](https://blog.csdn.net/wayne214/article/details/85045229)
make setting.
### notice
current is only support android, ios coming soon.
## Getting started
`$ npm install react-native-baidu-vtts --save`
### Mostly automatic installation
`$ react-native link react-native-baidu-vtts`
### Manual installation
#### iOS
coming soon
<!-- 1. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]`
2. Go to `node_modules` ➜ `react-native-baidu-vtts` and add `RNBaiduvoice.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libRNBaiduvoice.a` to your project's `Build Phases` ➜ `Link Binary With Libraries`
4. Run your project (`Cmd+R`)< -->
#### Android
1. Open up `android/app/src/main/java/[...]/MainActivity.java`
- Add `import com.wayne.baiduvoice.RNBaiduvoicePackage;` to the imports at the top of the file
- Add `new RNBaiduvoicePackage()` to the list returned by the `getPackages()` method
2. Append the following lines to `android/settings.gradle`:
```
include ':react-native-baidu-vtts'
project(':react-native-baidu-vtts').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-baidu-vtts/android')
```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
```
implementation project(':react-native-baidu-vtts')
```
## Usage
```javascript
import RNBaiduvoice from 'react-native-baidu-vtts';
// TODO: What to do with the module?
class App extends Component{
componentDidMount() {
// 填写百度语音官网申请的appid, apikey, secretkey
const appid = ''
const apikey = ''
const secretkey = ''
RNBaiduvoice.initBaiduTTS(appid,apikey,secretkey)
}
_speechText = () => {
RNBaiduvoice.speak('百度语音')
}
_speechStop = () => {
RNBaiduvoice.stop()
}
render() {
return (
<View style={styles.container}>
{/*<TwoList/>*/}
<TouchableOpacity onPress={this._speechText}>
<Text style={{fontSize: 20, height: 30}}>测试语音</Text>
</TouchableOpacity>
<TouchableOpacity onPress={this._speechStop}>
<Text style={{fontSize: 20, height: 30}}>停止播放</Text>
</TouchableOpacity>
</View>
);
}
}
```