upSpeechRecognitionModule 人工智能模块

模块概述

人工智能模块为H5页面提供语音识别能力。


方法列表

  • sdkInit (sdk初始化)
  • sdkRelease (sdk资源释放)
  • initOk (查询sdk初始化结果)
  • createAsrRecorder (创建语音识别对象)
  • attachAsrRecorder (订阅语音识别结果)
  • detachAsrRecorder (取消订阅语音识别结果)
  • startAsrRecorder (开始语音录制)
  • cancelAsrRecorder (取消语音录制)
  • stopAsrRecorder (停止语音录制)
  • createTtsPlayer (创建语音合成对象)
  • attachTts (订阅语音合成)
  • detachTts (取消语音合成订阅)
  • startTts (启动语音合成)
  • stopTts (停止语音合成)
  • playTts (播放语音合成文本)
  • pauseTts (语音合成播放器暂停播放)
  • openSpeechView (打开语音浮窗)
  • closeSpeechView (关闭语音浮窗)

公共数据

  • 所有数据均以JSON结构返回,由代码,信息和数据三部分组成
    {
      "retCode": "000000", //接口状态标识码,错误标识码以29开头
      "retInfo": "操作成功",//接口信息说明
      "retData": null //业务数据
    }
    
    -注意:在失败的情况下,reData结构如下:
    "retData": {
      "msgCode": "xxxx", //语音sdk返回的errorCode均转为29开头的错误码,参见下方errorListener监听回调数据code
      "msgInfo": "xxx"   //语音sdk返回的errorMsg均转为中文错误码,参见下方errorListener监听回调数据说明
    }
    

具体定义:返回数据通用

  • errorListener监听回调数据
code 说明
290001 内存不足
290002 参数错误
290003 配置错误
290004 执行功能时云端服务异常
290005 打开文件失败
290006 读取文件失败
290007 写入文件失败
290008 SDK未初始化
290009 SDK重复初始化
290010 执行功能时网络连接异常
290011 模块还没有处理结果
290012 TTS模块输出结果失败(继承IFilter的输出过滤器)
290013 SDK调用通用错误
290100 ASR模块调用失败
290101 ASR模块已经在工作中
290102 ASR模块没有语音输入
290103 ASR模块还未开始工作
290104 ASR模块没有识别结果
290200 NLU模块调用失败
290300 TTS模块调用失败
290301 TTS模块已经在工作中
290302 TTS模块没有输入
290303 TTS模块输出结果失败(继承IFilter的输出过滤器)
290304 TTS模块不在工作状态
290305 TTS模块语音合成失败
290400 保留
  • eventListener监听回调数据
code 说明
0 TTS播放器初始状态
1 TTS空闲
2 TTS语音合成录音机正在进行语音合成
3 TTS语音合成录音机正在播放合成语音
4 TTS语音合成录音机合成语音播放暂停
5 TTS语音合成录音机发生错误
6 TTS语音合成录音机语音合成播放停止

模块变更记录

  • V3.0.0

    • 新增方法:
      • sdkInit (sdk初始化)
      • sdkRelease (sdk资源释放)
      • initOk (查询sdk初始化结果)
      • createTtsPlayer (创建语音合成对象)
      • attachTts (订阅语音合成)
      • detachTts (取消语音合成订阅)
      • startTts (启动语音合成)
      • stopTts (停止语音合成)
      • playTts (播放语音合成文本)
      • pauseTts (语音合成播放器暂停播放)
      • openSpeechView (打开语音浮窗)
      • closeSpeechView (关闭语音浮窗)
    • 方法变更:
      • attachAsrRecorder新增AsrEventListener和AsrVolumeListener两个入参;监听事件下新增sdk原始数据返回
  • V3.2.0

    • 重构speechrecognition模块,修改返回数据的retCode和reInfo,具体值参照通用数据说明
  • V3.3.0

    • openSpeechView新增入参frame:语音悬浮按钮的坐标尺寸
    • openSpeechView新增入参isShowShortcut:是否显示创建语音快捷方式的入口
    • openSpeechView新增入参shortcutUserId:快捷方式userid
  • V4.0.0

    • 重构speechrecognition模块,支持调接口错误时的返回数据retData的传递,修改retInfo,重要改动:attach和detach方法必须成对使用,调用了attach方法后在create新的对象之前必须调用detach取消之前的监听,否则新创建的对象无法attach监听。

方法说明

  • sdkInit (sdk初始化)

    sdkInit()
说明
  • sdk初始化。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
config String 启动配置信息JSON字符串,没有可传空
错误返回 retCode说明:

参照通用retCode

code 说明
220005 缺少权限,语音模块初始化失败
正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.sdkInit({
  config: ''
}).then((result) =>console.log('result',result));

成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数sdkInitForAi()成功",
  "retData": null
}
  • sdkRelease (sdk资源释放)

    sdkRelease()
说明
  • sdk资源释放。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.sdkRelease().then((result) =>console.log('result',result));

成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数sdkReleaseForAi()成功",
  "retData": null
}
  • initOk (查询sdk初始化结果)

    initOk()
说明
  • 查询sdk初始化结果。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.initOk().then((result) =>console.log('result',result));

成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数initOkForAi()成功",
  "retData": null
}
  • createAsrRecorder (创建语音识别对象)

    createAsrRecorder()
说明
  • 创建一个默认的语音识别实例对象,后续版本会增加根据所传参数,创建自定义的语音识别实例对象。
  • 语音识别的实例对象只能存在一个,重复创建语音识别对象,最后创建出的实例对象会覆盖之前的实例对象。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.createAsrRecorder().then((result) =>console.log('result',result));

成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数createAsrRecorderForAi()成功",
  "retData": null
}
  • attachAsrRecorder (订阅语音识别结果)

    attachAsrRecorder()
说明
  • 开始语音录制前,首先调用该方法订阅语音识别,否则无法获取到语音识别结果。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
AsrErrorListener Function 语音识别故障监听器
AsrRsultListener Function 语音识别结果监听器
AsrEventListener Function 语音识别事件监听器
AsrVolumeListener Function 语音识别音量监听器
错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

语音识别故障,AsrErrorListener监听器数据说明:
属性名 数据类型 说明
retCode String 参照errorListener监听回调数据
retInfo String 参照errorListener监听回调数据
retData Object rawData

rawData 说明

属性名 数据类型 说明
errMsg String 语音sdk返回的错误信息
errCode String 语音sdk返回的错误码
AsrRsultListener监听器返回 retData说明:

语音返回的结果解析成功时:

属性名 数据类型 说明
retCode String 000000
retInfo String 语音识别成功
retData Object recogniationText,rawData
属性名 数据类型 说明
recogniationText String 语音sdk返回的识别文案,非必有,只在识别成功下才有
rawData String 语音sdk返回识别原始结果

语音返回的结果解析失败时:

属性名 数据类型 说明
retCode String 000001
retInfo String 语音识别失败
retData Object rawData
属性名 数据类型 说明
rawData String 语音sdk返回识别原始结果
语音识别事件,AsrEventListener监听器数据说明:
属性名 数据类型 说明
retCode String 000000
retInfo String AsrEvent事件触发
retData Object rawData

rawData 说明

属性名 数据类型 说明
statusCode Number 语音sdk返回的状态码
paramCode Number 语音sdk返回的事件参数(保留)
语音识别事件,AsrVolumeListener监听器数据说明:
属性名 数据类型 说明
retCode String 000000
retInfo String 实时音量
retData Number 实时音量值
示例

调用方式

uplusapi.upSpeechRecognitionModule.attachAsrRecorder({
  "AsrErrorListener": (errMessage) => console.log(errMessage),
  "AsrRsultListener": (resultMessage) => console.log(resultMessage),
  "AsrEventListener": (eventMessage) => console.log(eventMessage),
  "AsrVolumeListener": (volumeMessage) => console.log(volumeMessage)
}).then((result) =>console.log('result',result));

订阅成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数attachAsrRecorderForAi()成功",
  "retData": null
}
  • detachAsrRecorder (取消订阅语音识别结果)

    detachAsrRecorder()
说明
  • 取消订阅语音识别结果后,如需再次进行语音识别,请先重新订阅语音识别结果。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.detachAsrRecorder().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数detachAsrRecorderForAi()成功",
  "retData": null
}
  • startAsrRecorder (开始语音录制)

    startAsrRecorder()
说明
  • 语音录制时,如果语音停顿超过2s,会自动停止语音录制,进行语音识别
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
config String 启动配置信息JSON字符串,没有可传空
错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.startAsrRecorder({
  "config": ""
}).then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数startAsrRecorderForAi()成功",
  "retData": null
}
  • cancelAsrRecorder (取消语音录制)

    cancelAsrRecorder()
说明
  • 取消语音录制后,之前录制的语音不会进行语音识别,监听器不会执行
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.cancelAsrRecorder().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数cancelAsrRecorderForAi()成功",
  "retData": null
}
  • stopAsrRecorder (停止语音录制)

    stopAsrRecorder()
说明
  • 停止语音录制后,设备开始进行语音识别,监听器执行,返回识别结果
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.stopAsrRecorder().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数stopAsrRecorderForAi()成功",
  "retData": null
}
  • createTtsPlayer (创建语音合成对象)

    createTtsPlayer()
说明
  • 创建一个默认的创建语音合成实例对象,后续版本会增加根据所传参数,创建自定义的语音识别实例对象。
  • 语音合成的实例对象只能存在一个,重复创建语音合成对象,最后创建出的实例对象会覆盖之前的实例对象。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.createTtsPlayer().then((result) =>console.log('result',result));

成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数createTtsPlayerForAi()成功",
  "retData": null
}
  • attachTts (订阅语音合成)

    attachTts()
说明
  • 开始语音合成前,首先调用该方法订阅语音合成。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
TtsErrorListener Function 语音合成故障监听器
TtsRsultListener Function 语音合成结果监听器
TtsEventListener Function 语音合成事件监听器
错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

语音识别结果,TtsRsultListener监听器数据说明:
属性名 数据类型 说明
retCode String 语音sdk返回状态码
retInfo String 语音合成结果
retData String 语音sdk返回信息
语音识别故障,TtsErrorListener监听器数据说明:
属性名 数据类型 说明
retCode String 参照errorListener监听回调数据
retInfo String 参照errorListener监听回调数据
retData String 语音sdk返回错误数据
语音识别事件, TtsEventListener监听器数据说明:
属性名 数据类型 说明
retCode Number 参照eventListener监听回调数据
retInfo String TtsEvent事件触发
retData Number 语音sdk返回错误数据
示例

调用方式

uplusapi.upSpeechRecognitionModule.attachTts({
  "TtsErrorListener": (errMessage) => console.log(errMessage),
  "TtsRsultListener": (resultMessage) => console.log(resultMessage),
  "TtsEventListener": (eventtMessage) => console.log(eventtMessage)
}).then((result) =>console.log('result',result));

订阅成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数attachTtsForAi()成功",
  "retData": null
}
  • detachTts (取消语音合成订阅)

    detachTts()
说明
  • 取消订阅语音合成结果后,如需再次进行语音合成,请先重新订阅语音合成。
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.detachTts().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数detachTtsForAi()成功",
  "retData": null
}
  • startTts (启动语音合成)

    startTts()
说明
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
config String 启动配置信息JSON字符串,如:JSON.stringify({'provider': 'baidu'})
错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.startTts({
  'config': JSON.stringify({
    'provider': 'baidu'
  }),
}).then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数startTtsForAi()成功",
  "retData": null
}
  • stopTts (停止语音合成)

    stopTts()
说明
  • 停止语音合成后,
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.stopTts().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数stopTtsForAi()成功",
  "retData": null
}
  • playTts (播放语音合成文本)

    playTts()
说明
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
text String 语⾳合成的文本,传空会返回参数错误
mode Number 0:重新合成⽂本并播放;1:继续播放上⼀次的合成。输⼊入的合成⽂文本必须与最近⼀次的合成⽂本相同,并处于播放暂停状态,否则会返回290002参数错误;2:重新播放上一次的合成。输入的合成文本必须与最近一次的合成⽂本相同,否则会返回290002参数错误
错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.playTts({
  "text": "语⾳音合成的⽂文本",
  "mode": 0
}).then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数playTtsForAi()成功",
  "retData": null
}
  • pauseTts (语音合成播放器暂停播放)

    pauseTts()
说明
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.pauseTts().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数pauseTtsForAi()成功",
  "retData": null
}

openSpeechView (打开语音浮窗)

说明
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 类型 是否必填 描述
corpus Array 语料信息,没有可传空
错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.openSpeechView({
  corpus: [],
}).then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数openSpeechView()成功",
  "retData": null
}
自动打开语音浮窗

通过语音助手快捷方式打开App,页面需监听resume事件来获取参数:

uplusapi.addResumeEventListener((data) => {
    if (data.autoOpenSpeechView === '1') {
        uplusapi.upSpeechRecognitionModule.openSpeechView({
            corpus: [],
        }).then((result) =>console.log('result',result));
    }
}, 'key');

closeSpeechView (关闭语音浮窗)

说明
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:

错误返回 retCode说明:

参照通用reCode

正确返回 retData说明:

示例

调用方式

uplusapi.upSpeechRecognitionModule.closeSpeechView().then((result) =>console.log('result',result));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数closeSpeechView()成功",
  "retData": null
}

results matching ""

    No results matching ""