Skip to content

Commit 8d92a80

Browse files
committed
update README
1 parent 89ca976 commit 8d92a80

File tree

1 file changed

+86
-1
lines changed

1 file changed

+86
-1
lines changed

README.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,87 @@
11
# react-native-speech-iflytek
2-
The doc is coming!
2+
react-native-speech-iflytek 是一个 React Native 下的科大讯飞语音库,可以进行语音识别与语音合成。
3+
4+
## Support
5+
- React Native >= 0.43, 低版本未经测试
6+
- Android,目前仅支持 Android
7+
8+
## Install
9+
```
10+
npm i react-native-speech-iflytek --save
11+
react-native link
12+
```
13+
安装后使用 Android Studio 重新构建。还须进行下面两步:
14+
1.[讯飞开放平台](http://www.xfyun.cn/sdk/dispatcher) 下载组合服务SDK(选择`语音识别``在线语音合成`
15+
2. 使用 SDK 的 `Android_voice_xxxx_xxxxxxxx/libs` 文件夹替换 `YourProject/node_modules/react-native-speech-iflytek/android/libs` 文件夹,这是因为讯飞语音的原生库与注册应用进行了绑定。
16+
17+
## Usage
18+
(详见 Example)引入包:
19+
```
20+
import { Recognizer, Synthesizer } from "react-native-speech-iflytek";
21+
```
22+
语音识别:
23+
```
24+
Recognizer.init("57c7c5b0");
25+
DeviceEventEmitter.addListener("onRecognizerResult", this.onRecognizerResult);
26+
Recognizer.start();
27+
```
28+
处理识别结果:
29+
```
30+
onRecognizerResult(e) {
31+
if (!e.isLast) {
32+
return;
33+
}
34+
ToastAndroid.show(e.result, ToastAndroid.SHORT);
35+
this.setState({ text: e.result });
36+
}
37+
```
38+
## API
39+
40+
### Recognizer
41+
#### Methods
42+
- `Recognizer.init(String AppId)`
43+
初始化语音识别
44+
- `Recognizer.start()`
45+
开始语音识别
46+
- `Recognizer.cancel()`
47+
取消语音识别
48+
- `Recognizer.isListening()`
49+
检测当前是否正在语音识别。返回 `Promise`,结果为 `bool` 类型,表示当前是否正在语音识别
50+
- `Recognizer.stop()`
51+
如果正在语音识别,则结束语音识别
52+
- `Recognizer.setParameter(String parameter, String value)`
53+
语音识别设置,详见讯飞语音文档
54+
- `Recognizer.getParameter(String param)`
55+
获取语音识别设置,详见讯飞语音文档。返回 `Promise`,结果为 `String` 类型,表示语音识别设置值
56+
#### Events
57+
- `onRecognizerResult(JSON result)`
58+
语音识别结果,在语音识别时会不断触发该事件,`result``JSON` 类型,其值:
59+
60+
- `text`:当次识别结果
61+
- `result`:当前识别结果,最常使用
62+
- `isLast`:是否是最后一次识别,调用 `Recognizer.stop()` 后,`isLast` 值为 `true`,否则一直为 `false`
63+
- `duration`:当前识别时间长度
64+
- `onRecognizerVolumeChanged(Int volume)`
65+
语音识别的音量大小,当识别的语音改变音量是会触发该事件
66+
67+
### Synthesizer
68+
#### Methods
69+
- `Synthesizer.init(String AppId)`
70+
初始化语音合成
71+
- `Synthesizer.start(String content)`
72+
开始语音合成
73+
- `Synthesizer.stop()`
74+
如果正在语音合成,则结束语音合成
75+
- `Synthesizer.isSpeaking()`
76+
检测当前是否正在语音合成。返回 `Promise`,结果为 `bool` 类型,表示当前是否正在语音合成
77+
- `Synthesizer.pause()`
78+
如果正在语音合成,则暂停语音合成
79+
- `Synthesizer.setParameter(String parameter, String value)`
80+
语音合成设置,详见讯飞语音文档
81+
- `Synthesizer.getParameter(String param)`
82+
获取语音合成设置,详见讯飞语音文档。返回 `Promise`,结果为 `String` 类型,表示语音合成设置值
83+
#### Events
84+
- `onSynthesizerBufferCompletedEvent()`
85+
语音合成缓冲完成时触发该事件
86+
- `onSynthesizerSpeakCompletedEvent()`
87+
语音合成播放完成时触发该事件

0 commit comments

Comments
 (0)