/**
* 语音组件<br>
* <ul>
* <li>语音相关的录制、播放,类似收音机的操作</li>
* <li>播放指定的文件</li>
* </ul>
*
* @module Audio
*/
/**
* 语音组件
* <br>该类提供了对移动设备的语音接口的调用,包括:
* <ul>
* <li>开始录音(startRecord)</li>
* <li>停止录音(stopRecord)</li>
* <li>播放录音(playVoice)</li>
* <li>停止播放(stopVoice)</li>
* <li>获取播放时间(getDuration)</li>
* <li>提供有UI界面的录、播一套的组件</li>
* <li>提供有UI界面的播放录音的界面</li>
* </ul>
* <br style="color:red">注:录音时,需要将记录的文件名以.wav的格式进行录制
* @namespace cmp
* @class audio
*/
/**
* 开始录音
* @method startRecord
* @namespace cmp.audio
* @param {Object} [cfg] 回调函数对象配置
* @param {Function} [cfg.success] 成功回调函数
* @param {Function} [cfg.error] 失败回调函数
* @returns {object} 媒体对象Media
*/
/**
* 停止录音
* @method stopRecord
* @namespace cmp.audio
* @param {Object} [cfg] 回调函数对象配置
* @param {Function} [cfg.success] 成功回调函数
*/
/**
* 播放录音
* @method playVoice
* @namespace cmp.audio
* @param {Object} options 播放录音参数配置
* @param {String} options.url 播放文件地址
* @param {Function} [options.success] 成功播放完毕回调函数
* @param {Function} [options.error] 失败回调函数
* @param {Function} [options.initSuccess] 成功开始播放的回调函数
*/
/**
* 停止播放
* @method stopVoice
* @namespace cmp.audio
* @param {Object} obj 参数对象配置
* @param {String} obj.url 播放文件地址
* @param {Function} [obj.success] 成功回调函数
*/
/**
* 获取播放时间
* @method getDuration
* @namespace cmp.audio
* @param url 播放文件地址
* @returns {number} 播放时间
*/
/**
* 录、播UI界面
* @method init
* @namespace cmp.audio
* @param {Object} [options] 调用配置参数
* @param {String} [options.text] UI组件标题
* @param {Function} [options.callback] 点击使用按钮回调函数,将录音结果的文件地址返回给回调
* @param {Function} [options.cancelCallback] 点击取消按钮的回调
*/
/**
* 播放录音UI界面
* @method play
* @namespace cmp.audio
* @param {Object} options 调用配置参数
* @param {String} options.filepath 录音文件的地址
* @param {String} options.filename 录音文件的名称
* @param {Function} [options.cancelCallback] 点击取消按钮的回调
*/
/**
* 语音识别功能
* <br>该类调用移动设备语音接口,可对输入的语音进行识别,应用场景包括:
* <ul>
* <li>用户输入语音</li>
* <li>通讯录查询</li>
* <li>打电话</li>
* <li>写短信</li>
* </ul>
* @class iat
* @namespace cmp
* @type {{}}
*/
/**
* 语音输入
* @method input
* @namespace cmp.iat
* @param {Object} [options] 配置参数对象
* @param {Function} [options.success] 输入成功后的回调函数
* @param {Function} [options.error] 输入失败后的回调函数
* @param {String} [options.language] 输入的语种类型(暂时只支持中文"zh_cn")
* @param {Number} [options.vadbos] 后端等待时间(默认5000,单位:毫秒/ms)
* @param {Number} [options.vadeos] 前端等待时间 (默认1000,单位:毫秒/ms)
* @param {Number} [options.speechtimeout] 语音输入时间长度 (默认30000,单位:毫秒/ms)
* @example
* ```
* <script>
* cmp.iat.input({
* language:"zh_cn",
* vadbos:5000,
* vadeos:1000,
* speechtimeout:30000,
* success:function(result){
* //do something
* },
* error:function(){
* //do something
* }
* });
* </script>
* ```
*/
/**
* 语音指令
* @method bnf
* @namespace cmp.iat
* @param {Object} [options] 配置参数对象
* @param {Function} [options.success] 执行成功后的回调函数
* @param {Function} [options.error] 执行失败后的回调函数
* @param {String} [options.language] 输入的语种类型(暂时只支持中文"zh_cn")
* @param {Number} [options.vadbos] 后端等待时间(默认5000,单位:毫秒/ms)
* @param {Number} [options.vadeos] 前端等待时间 (默认1000,单位:毫秒/ms)
* @param {Number} [options.speechtimeout] 语音输入时间长度 (默认30000,单位:毫秒/ms)
* @param {String} [options.voicetype] 语音识别类型<br>
* <ul>
* <li>abnf:云识别</li>
* <li>bnf:本地识别(默认)</li>
* </ul>
* @param {Object} [options.slots] 要插入到语法中的数据;格式:<br>
* `{"contact": {"data": "李志强|王鑫", "type": "contacts"}}`
* @example
* ```
* <script>
* cmp.iat.input({
* language:"zh_cn",
* vadbos:5000,
* vadeos:1000,
* speechtimeout:30000,
* voicetype:"abnf",
* slots:{
* "contact" : {"data": "李志强|王鑫", "type": "contacts"}
* }
* success:function(result){
* //do something
* },
* error:function(){
* //do something
* }
* });
* </script>
* ```
*/