IFlyVoice
来自于:APICloud立即使用
离线语音合成
initSpeechSynthesizer startSynthetic pauseSpeaking resumeSpeaking
stopSpeaking addSyntheticListener
离线命令词识别
initSpeechRecognizer buildGrammar startListening stopListening cancel addGrammarListener
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
本模块封装了讯飞SDK的离线语音合成和离线命令词识别功能。
注意:
- 1.所有接口不可同时调用
- 2.生成的音频文件为pcm格式,后缀不支持其它格式
- 3.基础资源文件和发音人资源文件(.jet文件)必须是生成的SDK内部的文件,否则会返回11210(appid和离线资源不匹配)错误码
- 4.错误码请参照讯飞语音云错误码表格
使用此模块之前必须先配置 config 文件,配置方法如下:
- 名称:IFlyVoice
- 参数:appId
- 配置示例:
<feature name="IFlyVoice">
<param name="appId_iOS" value="123ab67" />
<param name="appId_Android" value="123ab67" />
</feature>
字段描述:
appId:注册应用的appId,注册应用请前往讯飞开放平台。
注意:
Android 需升级环境进行编译
initSpeechSynthesizer
初始化语音合成对象(Android使用语音合成必须先调用此接口)
initSpeechSynthesizer(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
state:true //布尔类型;语音合成对象初始化成功
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.initSpeechSynthesizer(function(ret){
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
startSpeaking
开始离线语音合成
startSynthetic(params,callback(ret,err))
params
text:
- 类型:字符串类型
- 描述:文本内容
commonPath_iOS:
- 类型:字符串类型
- 描述:iOS基础资源文件路径;支持fs、widget
pronouncePath_iOS:
- 类型:字符串类型
- 描述:iOS发音人资源文件路径;支持fs、widget _iOS
commonPath_Android:
- 类型:字符串类型
- 描述:Android基础资源文件路径;支持fs、widget
pronouncePath_Android:
- 类型:字符串类型
- 描述:Android发音人资源文件路径;支持fs、widget
pronounceName:
- 类型:字符串类型
- 描述:发音人资源文件名称(不带后缀文件类型)
path:
- 类型:字符串
- 描述:(可选项)合成语音文件保存路径,仅支持fs
- 默认:’fs://voices’
name:
- 类型:字符串
- 描述:(可选项)合成音频文件名字;生成的音频文件为pcm格式,后缀不支持其他格式
- 默认:’voice.pcm’
speed:
- 类型:字符类型
- 描述:(可选项)播放速度
- 默认:50
- 取值范围:1-100
volume:
- 类型:字符类型
- 描述:(可选项)音量
- 默认:50
- 取值范围:1-100
pitch:
- 类型:字符类型
- 描述:(可选项)音调
- 默认:50
- 取值范围:1-100
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否合成成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:0, //错误码
Type:0, //错误码类型(Android不支持)
msg:'' //错误原因 (Android不支持)
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.startSynthetic({
text:'你好柚子',
commonPath_Android:'',
pronouncePath_Android:'',
commonPath_iOS:'',
pronouncePath_iOS:'',
},function(ret,err){
if (ret.status) {
alert('合成成功');
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pauseSpeaking
暂停语音播放,暂停播放之后,合成不会暂停,仍会继续
pauseSpeaking()
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.pauseSpeaking();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resumeSpeaking
恢复播放
resumeSpeaking()
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.resumeSpeaking();
stopSpeaking
停止播放并停止合成
stopSpeaking()
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.stopSpeaking();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addSyntheticListener
语音合成相关监听
addSyntheticListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
reason:'', //字符类型;合成相关事件回调,取值范围如下:
//onSpeakBegin:开始合成回调
//onSpeakResumed : 恢复播放回调(Android)
//onSpeakPaused:暂停播放回调
//onSpeakCompleted :播放完成回调(Android)
bufferProgress:10, //数字类型;缓冲进度;0-100
speakProgress:10 //数字类型;播放进度回调;0-100
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.addSyntheticListener(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
initSpeechRecognizer
初始化命令词对象(Android使用命令词必须先调用此接口)
initSpeechRecognizer(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
state:true //布尔类型;语音合成对象初始化成功
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.initSpeechRecognizer(function(ret){
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
buildGrammar
语法上传
buildGrammar(params,callback(ret,err))
params
commonPath_Android:
- 类型:字符串类型
- 描述Android:基础资源文件路径;支持fs、widget
bnfPath_Android:
- 类型:字符串类型
- 描述:Android本地bnf语法文件;支持fs、widget
commonPath_iOS:
- 类型:字符串类型
- 描述:iOS基础资源文件路径;支持fs、widget
bnfPath_iOS:
- 类型:字符串类型
- 描述:iOS本地bnf语法文件;支持fs、widget
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否上传成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:0, //错误码
Type:0, //错误码类型(支持ios)
msg:'' //错误原因
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.buildGrammar({
commonPath_Android:'',
bnfPath_Android:''
},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startListening
开始本地识别
startListening(callback(ret,err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否识别成功
result:{} //json对象;识别结果,可能多次回调
isLast:true //布尔类型;是否最后一个结果
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:0, //错误码
Type:0, //错误码类型(支持ios)
msg:'' //错误原因
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.startListening(function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopListening
调用此函数会停止录音,并开始进行语音识别
stopListening()
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.stopListening();
cancel
取消本次会话
cancel()
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.cancel();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addGrammarListener
离线命令词识别相关监听
addGrammarListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
reason:'', //字符类型;离线命令词识别相关监听事件回调,取值范围如下:
//onBeginOfSpeech:开始录音回调,当调用了`startListening`接口之后,如果没有发生错误则会回调此字段
//onEndOfSpeech:停止录音回调, 当调用了`stopListening`接口或者引擎内部自动检测到断点,如果没有发生错误则回调此字段
//onCancel:取消识别回调,当调用了`cancel`接口之后,会回调此函数
volume:10 //数字类型;在录音过程中,回调音频的音量;范围从0-30
}
示例代码
var IFlyVoice = api.require('IFlyVoice');
IFlyVoice.addGrammarListener(function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。