IFlyVoice

initSpeechSynthesizer pauseSpeaking
stopSpeaking

离线命令词识别

initSpeechRecognizer startListening cancel

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

本模块封装了讯飞SDK的离线语音合成和离线命令词识别功能。

注意:

  • 1.所有接口不可同时调用
  • 2.生成的音频文件为pcm格式,后缀不支持其它格式
  • 3.基础资源文件和发音人资源文件(.jet文件)必须是生成的SDK内部的文件,否则会返回11210(appid和离线资源不匹配)错误码
  • 4.错误码请参照

使用此模块之前必须先配置 config 文件,配置方法如下:

  • 名称:IFlyVoice
  • 参数:appId
  • 配置示例:

注意:

Android 需升级环境进行编译

初始化语音合成对象(Android使用语音合成必须先调用此接口)

initSpeechSynthesizer(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. state:true //布尔类型;语音合成对象初始化成功
  2. }

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.initSpeechSynthesizer(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

可用性

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
  • 类型:字符类型
  • 描述:(可选项)音量
  • 默认:50
  • 取值范围:1-100

pitch:

  • 类型:字符类型
  • 描述:(可选项)音调
  • 默认:50
  • 取值范围:1-100

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;是否合成成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0, //错误码
  3. Type:0, //错误码类型(Android不支持)
  4. msg:'' //错误原因 (Android不支持)
  5. }

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.startSynthetic({
  3. text:'你好柚子',
  4. commonPath_Android:'',
  5. pronouncePath_Android:'',
  6. commonPath_iOS:'',
  7. pronouncePath_iOS:'',
  8. },function(ret,err){
  9. if (ret.status) {
  10. alert('合成成功');
  11. } else {
  12. alert(JSON.stringify(err));
  13. }

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pauseSpeaking

暂停语音播放,暂停播放之后,合成不会暂停,仍会继续

pauseSpeaking()

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.pauseSpeaking();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

resumeSpeaking

恢复播放

resumeSpeaking()

示例代码

停止播放并停止合成

stopSpeaking()

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.stopSpeaking();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addSyntheticListener

语音合成相关监听

addSyntheticListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. reason:'', //字符类型;合成相关事件回调,取值范围如下:
  3. //onSpeakBegin:开始合成回调
  4. //onSpeakResumed : 恢复播放回调(Android)
  5. //onSpeakPaused:暂停播放回调
  6. bufferProgress:10, //数字类型;缓冲进度;0-100
  7. speakProgress:10 //数字类型;播放进度回调;0-100
  8. }

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.addSyntheticListener(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

initSpeechRecognizer

初始化命令词对象(Android使用命令词必须先调用此接口)

initSpeechRecognizer(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. state:true //布尔类型;语音合成对象初始化成功
  3. }

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.initSpeechRecognizer(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

可用性

Android系统

可提供的1.0.0及更高版本

buildGrammar

语法上传

params

commonPath_Android:

  • 类型:字符串类型
  • 描述Android:基础资源文件路径;支持fs、widget

bnfPath_Android:

  • 类型:字符串类型
  • 描述:Android本地bnf语法文件;支持fs、widget

commonPath_iOS:

  • 类型:字符串类型
  • 描述:iOS基础资源文件路径;支持fs、widget

bnfPath_iOS:

  • 类型:字符串类型
  • 描述:iOS本地bnf语法文件;支持fs、widget

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;是否上传成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. IFlyVoice.buildGrammar({
  2. commonPath_Android:'',
  3. bnfPath_Android:''
  4. },function(ret,err){
  5. alert(JSON.stringify(ret));
  6. });

iOS系统,Android系统

可提供的1.0.0及更高版本

startListening

开始本地识别

startListening(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;是否识别成功
  3. result:{} //json对象;识别结果,可能多次回调
  4. isLast:true //布尔类型;是否最后一个结果
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code:0, //错误码
  3. Type:0, //错误码类型(支持ios)
  4. msg:'' //错误原因
  5. }

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.startListening(function(ret,err){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopListening

调用此函数会停止录音,并开始进行语音识别

stopListening()

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.stopListening();

cancel

取消本次会话

cancel()

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.cancel();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addGrammarListener

离线命令词识别相关监听

addGrammarListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var IFlyVoice = api.require('IFlyVoice');
  2. IFlyVoice.addGrammarListener(function(ret){
  3. alert(JSON.stringify(ret));

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个,示例中包含示例代码、知识点讲解、注意事项等,供您参考。