wxVoice

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

speechRecognizerConfiguration startSpeechRecognizer finishSpeechRecognizer cancelSpeechRecognizer speechRecognizerUIConfiguration startSpeechRecognizerUI speechSynthesizerConfiguration startSpeechSynthesizer cancelSpeechSynthesizer

概述

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startSpeechRecognizer

语音识别开始。

startSpeechRecognizer({params},callback(ret))

params

grammarString:

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

grammarType:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. eventType : 'complete', // 字符串类型;语音识别结果类型
  3. // 取值范围:
  4. // complete :识别成功
  5. // finish :录音完成,等待服务器返回识别结果。此时不会再接受新的语音
  6. // error :出现错误,错误码请参见官方网站
  7. // cancel :在手动调用的cancel后,取消完成时回调
  8. result : '', // 字符串类型;eventType为complete时返回,语音识别结果的文本内容
  9. errorCode : -501, // 数字类型;eventType为error时返回,错误码请参见官方网站
  10. }

示例代码

  1. var wxVoice = api.require('wxVoice');
  2. wxVoice.startSpeechRecognizer(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

finishSpeechRecognizer

结束语音识别。

finishSpeechRecognizer()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelSpeechRecognizer

取消语音识别。

cancelSpeechRecognizer()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

speechRecognizerUIConfiguration

语音识别带有UI配置。

speechRecognizerUIConfiguration({params})

params

appId:

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

silTime:

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

示例代码

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

可用性

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对象
  • 内部字段:
  1. {
  2. result : '' // 字符串类型;语音识别结果的文本内容
  3. }

示例代码

  1. var wxVoice = api.require('wxVoice');
  2. wxVoice.startSpeechRecognizerUI(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

speechSynthesizerConfiguration

语音合成配置。

speechSynthesizerConfiguration({params})

params

appId:

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

volumn:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startSpeechSynthesizer

开始语音合成。

startSpeechSynthesizer({params},callback(ret))

params

text:

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

callback(ret)

ret:

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

示例代码

  1. var wxVoice = api.require('wxVoice');
  2. wxVoice.startSpeechSynthesizer(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelSpeechSynthesizer

取消语音合成。

cancelSpeechSynthesizer()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本