/**
 * 语音组件<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>
 * ```
 */

    
Top