wxVoice

来自于:AC模块工作室立即使用

概述

wxVoice 封装了微信语音识别SDK。模块接口分为三部分:1.语音识别,2.带有UI的语音识别,3.语音合成。模块暂不支持iPhone X。

微信开放平台

ABNF语法手册

iOS开发准备工作

  • 请到“管理中心”创建移动应用,点击“创建移动应用”,填写相关资料,然后将该应用提交审核,只有审核通过的应用才能进行开发。 注册完毕,微信开放平台会在 7 个工作日内完成审核工作。 审核通过之后,开放平台将分配给该移动应用全局唯一的AppID。

speechRecognizerConfiguration

语音识别配置。

speechRecognizerConfiguration({params})

params

appId:

  • 类型:字符串类型
  • 描述:微信开放平台分配给移动应用的AppID。
  • 默认:无

silTime:

  • 类型:数值类型
  • 描述:(可选项)静音检查时间,开始录音,并检测到有语音产生后,超过此时间没有声音,则自动完成本次录音,单位:秒
  • 默认:1.5

resultType:

  • 类型:数值类型
  • 描述:(可选项)设置识别类型,0无标点,1有标点
  • 默认:0

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.speechRecognizerConfiguration({
                        appId : 'wxd9dbb2f20a952a5d'
                    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startSpeechRecognizer

语音识别开始。

startSpeechRecognizer({params},callback(ret))

params

grammarString:

  • 类型:字符串类型
  • 描述:(可选项)使用ABNF语法或词表进行语音识别
  • 默认:不使用ABNF语法或词表进行语音识别
  • 词表示例:'崔大勺 | 张小萌 | 金秀贤 | 李若曦 | 杨不悔 | 叶宁远 | 丰云 | 刘星 ;'

grammarType:

  • 类型:数值类型
  • 描述:(可选项)0:使用ABNF语法,1:使用词表。grammarString有值才有效
  • 默认:1

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{                        
    eventType : 'complete',       // 字符串类型;语音识别结果类型
      // 取值范围:
      // complete :识别成功
        // finish :录音完成,等待服务器返回识别结果。此时不会再接受新的语音
        // error :出现错误,错误码请参见官方网站
        // cancel :在手动调用的cancel后,取消完成时回调

    result : '',   // 字符串类型;eventType为complete时返回,语音识别结果的文本内容

    errorCode : -501, // 数字类型;eventType为error时返回,错误码请参见官方网站
}

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.startSpeechRecognizer(function(ret) {
                if (ret) {
                    alert(JSON.stringify(ret));
                }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

finishSpeechRecognizer

结束语音识别。

finishSpeechRecognizer()

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.finishSpeechRecognizer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelSpeechRecognizer

取消语音识别。

cancelSpeechRecognizer()

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.cancelSpeechRecognizer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

speechRecognizerUIConfiguration

语音识别带有UI配置。

speechRecognizerUIConfiguration({params})

params

appId:

  • 类型:字符串类型
  • 描述:微信开放平台分配给移动应用的AppID。
  • 默认:无

silTime:

  • 类型:数值类型
  • 描述:(可选项)静音检查时间,开始录音,并检测到有语音产生后,超过此时间没有声音,则自动完成本次录音,单位:秒
  • 默认:1.5

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.speechRecognizerUIConfiguration({
                        appId : 'wxd9dbb2f20a952a5d'
                    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startSpeechRecognizerUI

语音识别带有UI开始识别。

startSpeechRecognizerUI({params},callback(ret))

params

grammarString:

  • 类型:字符串类型
  • 描述:(可选项)使用ABNF语法或词表进行语音识别
  • 默认:不使用ABNF语法或词表进行语音识别
  • 词表示例:'崔大勺 | 张小萌 | 金秀贤 | 李若曦 | 杨不悔 | 叶宁远 | 丰云 | 刘星 ;'

grammarType:

  • 类型:数值类型
  • 描述:(可选项)0:使用ABNF语法,1:使用词表。grammarString有值才有效
  • 默认:1

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{                        
    result : ''   // 字符串类型;语音识别结果的文本内容
}

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.startSpeechRecognizerUI(function(ret) {
                if (ret) {
                    alert(JSON.stringify(ret));
                }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

speechSynthesizerConfiguration

语音合成配置。

speechSynthesizerConfiguration({params})

params

appId:

  • 类型:字符串类型
  • 描述:微信开放平台分配给移动应用的AppID。
  • 默认:无

volumn:

  • 类型:数值类型
  • 描述:(可选项)音量范围0-2
  • 默认:1.0

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.speechSynthesizerConfiguration({
                        appId : 'wxd9dbb2f20a952a5d'
                    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startSpeechSynthesizer

开始语音合成。

startSpeechSynthesizer({params},callback(ret))

params

text:

  • 类型:字符串类型
  • 描述:需要合成的文本
  • 默认:无

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{                        
    eventType : 'finishPlaying',       // 字符串类型;语音合成结果类型
      // 取值范围:
      // finishPlaying :播放完成 
        // playError :播放错误 (android不支持)
        // error :出现错误,错误码请参见官方网站
        // cancel :手动调用的cancel,并完成取消后的回调    
    errorCode : -501, // 数字类型;eventType为error时返回,错误码请参见官方网站
}

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.startSpeechSynthesizer(function(ret) {
                if (ret) {
                    alert(JSON.stringify(ret));
                }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelSpeechSynthesizer

取消语音合成。

cancelSpeechSynthesizer()

示例代码

var wxVoice = api.require('wxVoice');
wxVoice.cancelSpeechSynthesizer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本