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
  • 配置示例:
  1. <feature name="IFlyVoice">
  2. <param name="appId_iOS" value="123ab67" />
  3. <param name="appId_Android" value="123ab67" />
  4. </feature>

注意:

Android 需升级环境进行编译

initSpeechSynthesizer

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

initSpeechSynthesizer(callback(ret))

callback(ret)

ret:

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

示例代码

  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

volume:

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

pitch:

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

callback(ret, err)

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. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pauseSpeaking

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

pauseSpeaking()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

resumeSpeaking

恢复播放

resumeSpeaking()

示例代码

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

stopSpeaking

停止播放并停止合成

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. //onSpeakCompleted :播放完成回调(Android)
  7. bufferProgress:10, //数字类型;缓冲进度;0-100
  8. speakProgress:10 //数字类型;播放进度回调;0-100
  9. }

示例代码

  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

语法上传

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 对象
  • 内部字段:
  1. {
  2. status:true //布尔类型;是否上传成功
  3. }

err:

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

示例代码

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

可用性

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. {
  2. reason:'', //字符类型;离线命令词识别相关监听事件回调,取值范围如下:
  3. //onBeginOfSpeech:开始录音回调,当调用了`startListening`接口之后,如果没有发生错误则会回调此字段
  4. //onEndOfSpeech:停止录音回调, 当调用了`stopListening`接口或者引擎内部自动检测到断点,如果没有发生错误则回调此字段
  5. //onCancel:取消识别回调,当调用了`cancel`接口之后,会回调此函数
  6. volume:10 //数字类型;在录音过程中,回调音频的音量;范围从0-30
  7. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

论坛示例

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