下载文档

uexUnisound
更新时间:2015-11-30

1、简介

云知声插件

1.1、 说明

封装了云知声的相关功能:通过调用插件的相关接口,您可以轻松进行语音识别、语义识别以及语音合成等相关功能。

  • 对于个人开发者使用语音服务,需要经过云知声的授权,请到”http://dev.hivoice.cn“ 注册成为云知声的开发者,并创建应用,在”我的应用”中获取 AppKey 和 Secret。使用该应用授权码可以帮助开发者监控语音识别服务的使用情况。

1.2、 当前版本插件下载

点击至插件详情页(插件测试用例与插件包已经提供)


2、 API预览

2.1、 方法

init 初始化

uexUnisound.init(param)

说明

初始化云知声

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. appKey:,//String,必选 申请应用后获得的AppKey
  3. secret:,//String,必选 申请应用后获得的Secret
  4. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data = {
  2. appKey:"fjxvybmv65mh6qdcj5chwi6vaetsvvwuj7ey5gyh",
  3. secret:"1c22d036487da0bd69c791788e5870e6"
  4. }
  5. uexUnisound.init(JSON.stringify(data));

updateRecognizerSettings 更新语音识别设置

uexUnisound.updateRecognizerSettings(param)

说明

更新语音识别设置

参数

param是一个字典结构生成的json字符串,其key值如下表所示

参数名称 参数解释 参数类型 取值范围 默认值
frontTime 用户不说话的超时时间 Number 正整数 单位为毫秒 3000
backTime 用户停止说话自动停止录音的时间 Number 正整数 单位为毫秒 1000
rate 录音采样率 Number 1-BANDWIDTH\\\\_AUTO; 2-RATE\\\\_8K; 3-RATE_16K; 详细说明见表末 3
languague 识别语言 Number 1-普通话 2-英语 3-粤语 1
  • 以上都是可选参数
  • 采样率意味着录音的质量
    • 对网络带宽要求 RATE\\\\_16K≈2KB/秒,RATE\\\\_8K≈1KB/秒。
    • 当设置成 BANDWIDTH_AUTO 时自动根据当前的网络环境切换到最佳的采样频率。

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data = {
  2. frontTime:2500,
  3. backTime:1500,
  4. rate:2,
  5. language:2,
  6. engine:3,
  7. recognizationTimeout:20,
  8. needUnderstander:false
  9. }
  10. uexUnisound.updateRecognizerSettings();

start 开始语音识别

uexUnisound.start()

说明

开始语音识别

  • 启动录音和识别,收到 onRecognizerStart 回调代表启动成功,此时用户才可以说话
  • 识别成功后,会通过 onReceiveRecognizerResult 方法回调取到的语音识别结果,会通过onReceiveUnderstanderResult 方法回调取到的语义解析结果
  • 如过程中出现了错误,会通过 onEnd 方法回调错误信息
  • 任务流程:开始语音识别->启动成功->开始录音->回调语音识别结果->录音结束->进行语义识别->回调语义识别结果->结束任务

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexUnisound.start();

stop 停止语音识别

uexUnisound.stop()

说明

停止语音识别

  • 本方法调用后,停止录音并等待语音理解结束,结束后会收到onEnd回调

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexUnisound.stop();

cancel 取消语音识别

uexUnisound.cancel()

说明

取消语音识别

  • 本方法调用后,放弃当前任务,本次任务状态不再回调。

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexUnisound.cancel();

runTextUnderstand 进行文本语义理解

uexUnisound.runTextUnderstand(param)

说明

手动输入文本以进行语义理解

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. text:,//需要语义理解的文本
  3. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data = {
  2. test:"我爱你"
  3. }
  4. uexUnisound.runTextUnderstand(JSON.stringify(data));

speaking 进行语音合成

uexUnisound.speaking(param)

说明

进行语音合成

有如下相关监听

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. text:,//需要语音合成的文本
  3. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data = {
  2. test:"你好"
  3. }
  4. uexUnisound.speaking(JSON.stringify(data));

cancelSpeaking 取消语音合成

uexUnisound.cancelSpeaking()

说明

  • 取消语音合成,调用该方法之后语音合成和播放都会取消
  • 全部取消后会触发onSpeakingCancel语音合成被取消的监听方法

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexUnisound.cancelSpeaking();

pauseSpeaking 暂停播放

uexUnisound.pauseSpeaking()

说明

暂停播放(仅IOS支持)

  • 仅暂停语音播放线程,合成线程会继续进行
  • 回调cbPauseSpeaking

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexUnisound.pauseSpeaking();

resumeSpeaking 恢复播放

uexUnisound.resumeSpeaking()

说明

恢复播放 (仅IOS支持)

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexUnisound.resumeSpeaking();

2.2、 回调方法

cbPauseSpeaking 暂停播放的回调方法

uexUnisound.cbPauseSpeaking()

说明

暂停播放的回调方法(仅IOS支持)

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.cbPauseSpeaking = function(){
  3. alert("暂停播放");
  4. }
  5. }

cbResumeSpeaking 恢复播放的回调方法

uexUnisound.cbResumeSpeaking()

说明

恢复播放的回调方法(仅IOS支持)

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.cbResumeSpeaking = function(){
  3. alert("恢复播放");
  4. }
  5. }

2.3、 监听方法

onRecognizerStart 语音识别开始的监听方法

uexUnisound.onRecognizerStart()

说明

语音识别开始的监听方法 (仅IOS支持)

  • 录音初始化完成,识别启动时,回调此方法。
  • 由于录音初始化需要时间,如果录音没有初始化完成就开始说话,可能会导致语音前半部分被截断,从而影响识别效果,因此不能调用 start 后就开始说话,而是要等待录音初始化完成才提示用户开始说话。

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onRecognizerStart = function(){
  3. alert("语音识别开始");
  4. }
  5. }

onSpeechStart 检测到开始说话的监听方法

uexUnisound.onSpeechStart()

说明

检测到开始说话的监听方法

  • 收到此回调代表已检测到用户开始说话。

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onSpeechStart = function(){
  3. alert("开始录音了");
  4. }
  5. }

onReceiveRecognizerResult 收到语音识别结果的监听方法

uexUnisound.onReceiveRecognizerResult(param)

说明

收到语音识别结果的监听方法

  • 控件采用边录音边识别方式,可能会多次返回结果,
    • isLast 为 true 表示识别结果已经取完,随后将进行语义解析任务。
    • false 表示结果未取完。
    • 建议用户在此接口中先将数据保存起来,然后在 onEnd 中再进行下一步处理。

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. result:,//String 必选 识别返回的文字结果
  3. isLast:,//Boolean 必选 是不是最后一次返回文字 true/false
  4. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onReceiveRecognizerResult = function(info){
  3. alert(info);
  4. }
  5. }

onEnd 语音识别任务结束的监听方法

uexUnisound.onEnd(param)

说明

  • onEnd 回调时,表示本次语音识别过程结束。

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. result:,//Number 必选 详细说明见下
  3. }
result 说明
0 语音理解成功,正常结束任务
-10001 服务器通讯错误
-10002 服务器连接失败
-20001 服务器验证错误
-30002 说话时间超出限制
-30003 数据压缩错误
-61002 录音异常
-62001 识别异常

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onEnd = function(info){
  3. alert(info);
  4. }
  5. }

onVADTimeout 录音超时的监听方法

uexUnisound.onVADTimeout()

说明

  • 录音过程中,如果用户间隔一段时间没有说话,会回调此方法。
  • 用户可以在此方法中调用 stop 方法停止录音,等待识别结果。

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onVADTimeout = function(){
  3. alert("录音超时");
  4. }
  5. }

onUpdateVolume 录音过程中音量大小的监听方法

uexUnisound.onUpdateVolume(param)

说明

  • 录音过程中会不断的回调此方法,实时返回音量大小(0 到 100)。
  • 值越大表示音量越大。
  • 用户可以根据 volume 的大小来实现音量变化的动画效果

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. volume;//Number 必选 录音时的音量大小 0~100
  3. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onUpdateVolume = function(info){
  3. //alert(info);
  4. //不建议alert调试此方法,会中断录音
  5. }
  6. }

onReceiveUnderstanderResult 收到语义理解结果的监听方法

uexUnisound.onReceiveUnderstanderResult(param)

说明

收到语义理解结果的监听方法

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. stringResult:,//String 必选 请求返回的结果,json字符串
  3. responseText:,//String 必选 json中的text项
  4. }
  • stringResult中包含更多更详细的信息
  • 一般使用,只需取responseText的值即可

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onReceiveRecognizerResult = function(info){
  3. alert(info);
  4. }
  5. }

onSpeakingStart 语音合成开始的监听方法

uexUnisound.onSpeakingStart()

说明

语音合成开始的监听方法

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onSpeakingStart = function(){
  3. alert("语音合成开始");
  4. }
  5. }

onSpeakingFinish 语音合成结束的监听方法

uexUnisound.onSpeakingFinish()

说明

语音合成结束的监听方法

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onSpeakingFinish = function(){
  3. alert("语音合成结束");
  4. }
  5. }

onSpeakingCancel 语音合成被取消的监听方法

uexUnisound.onSpeakingCancel()

说明

语音合成被取消的监听方法

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onSpeakingCancel = function(){
  3. alert("语音合成被取消");
  4. }
  5. }

onSpeakingErrorOccur 语音合成过程出错的监听方法

uexUnisound.onSpeakingErrorOccur(param)

说明

语音合成过程出错时,会回调此方法

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. errorStr:,//String 可选 错误描述
  3. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. window.uexOnload = function(type){
  2. uexUnisound.onSpeakingErrorOccur = function(info){
  3. alert(info);
  4. }
  5. }

3、更新历史

API 版本:uexUnisound-3.0.0(iOS) uexUnisound-3.0.0(Android)
最近更新时间:2015-09-18

历史发布版本 iOS更新 安卓更新
3.0.0 云知声插件 云知声插件