1.0.11 • Published 8 years ago
chanjet-plugin-speech-reco v1.0.11
语音识别API chanjet-plugin-speech-reco
在mutants框架中, 提供语音转换文字功能.
不能脱离mutants框架单独使用.
获取实例
//通过mutants来获取插件实例
const plugin = mutants.plugin.speechReco;
API
- ####start 开始识别
stop 停止识别
cancel 取消当前正在进行的识别操作
事件
onStart 开始事件
onSpeechStart 检测到开始说话事件
onSpeechEnd 检测到说话完成事件
onUpdateResult 动态更新识别内容
返回值
result
Object
返回对象- data
Array
识别结果数组, 由识别结果组成, 识别结果是字符串类型.
- data
onFinish 识别完毕事件
返回值
- result
Object
返回对象- data
Array
识别结果数组, 由识别结果组成, 识别结果是字符串类型.
- data
- result
onCancel 取消识别事件
onError 发生错误事件
返回值
- result
Object
返回对象- errorCode
number
错误码 - message
string
错误提示
- errorCode
错误码对照表
错误码 对应错误类型 10001 客户端异常:位置错误 10002 用户未说话 10003 用户说话声音太短 10004 语音前端库检测异常 10005 处理超时 20001 录音设备不可用 20001 录音中断 30001 网络不可用 30002 网络发生错误 30002 网络本次请求超时 30004 解析失败 40001 协议参数错误 40002 识别过程出错 40003 没有找到匹配结果 40004 AppnameUnkown错误 40005 声音不符合识别要求 40006 语音过长 40007 未知错误 50001 开始工作 50002 没有麦克风权限 50003 没有设定应用API KEY 50004 获取accessToken失败 50005 当前网络不可用 50006 代理不可用 50007 录音设备不可用 50008 启动预处理模块出错 50009 设置的识别属性无效 - result
用法
//获取插件实例
const plugin = mutants.plugin.speechReco;
//识别开始
plugin.onStart( () => {
console.log('启动识别');
});
//检测到说话开始
plugin.onSpeechStart( () => {
console.log('开始说话');
});
//检测到说话结束
plugin.onSpeechEnd( () => {
console.log('说话结束');
});
//动态返回识别结果
plugin.onUpdateResult( (rs) => {
console.log('动态更新结果' , rs);
});
//识别完成
plugin.onFinish( (rs) => {
console.log('处理完成' , rs);
});
//手动取消
plugin.onCancel( () => {
console.log('手动取消');
});
plugin.onError( () => {
console.log('出现错误');
});
//开始识别
plugin.start();
//停止识别
plugin.stop();
//取消识别
plugin.cancel();
mock数据
在浏览器环境中,可以通过mock数据来模拟返回结果 , 可以使用 mutants.plugin.setMockData
来设置mock数据.
具体参考如下:
模拟成功
/**
语音识别的mock比较特殊,由于存在过程,所以可以模拟用户说话的时间, 当用户点击停止时,还是会根据status进行返回结果.
**/
const mockData = {
//mock数据中,键名为插件的类名
SpeechRecoPlugin : {
status : 'success',
//模拟说话的时间,默认3000ms
time : 1000,
//模拟识别结果
data : ['模拟语音识别结果','摸你余音识别机俄国','摸你依云识别结果']
}
//设置mock数据
mutants.plugin.setMockData(mockData);
模拟失败
import {PluginMocker} from 'chanjet-plugin-base';
const mockData = {
//mock数据中,键名为插件的类名
SpeechRecoPlugin : {
status : 'failed',
//模拟说话的时间,默认3000ms
time : 1000,
message : '语音识别失败'
}
}
//设置mock数据
mutants.plugin.setMockData(mockData);