/**
 * 语音组件<br>
 *     <ul>
 *         <li>语音相关的录制、播放,类似收音机的操作</li>
 *         <li>播放指定的文件</li>
 *     </ul><br>
 *      <strong>
 *          页面需要导入的文件
 *          <ul>
 *              <li>cmp-audio.js</li>
 *              <li>cmp-audio.css</li>
 *          </ul>
 *          <span style="color:red">此接口不支持微协同</span>
 *      </strong>
 *
 * @module Audio
 * @subtitle 录音模块
 */
/**
 * 语音组件
 * <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 checkPermission
 * @namespace cmp.audio
 * @param {Object} [cfg] 回调函数对象配置
 *      @param {Function} [cfg.success] 成功回调函数
 *      @param {Function} [cfg.error] 失败回调函数
 * @example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.checkPermission({
 *          success:function(src){
 *                  //成功后直接调用开发者的成功回调
 *          },
  *         error:function(e){
  *             //会弹出去设置权限的提示
  *         }
 *     });
 * </script>
 * ```
 */

/**
 * 开始录音
 * @method startRecord
 * @namespace cmp.audio
 * @param {Object} [cfg] 回调函数对象配置
 *      @param {Function} [cfg.success] 成功回调函数
 *      @param {Function} [cfg.error] 失败回调函数
* @example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.startRecord({
 *          success:function(src){
 *               //返回录音生成的文件路径
 *              //如果是android系统,src的上传路径是cordova.file.externalRootDirectory+src
 *              //如果是ios系统,src即为上传路径
 *          },
  *         error:function(e){
  *             //请对照错误码进行处理
  *         }
 *     });
 * </script>
 * ```
 * @returns {object} 媒体对象Media
 */
/**
 * 停止录音
 * @method stopRecord
 * @namespace cmp.audio
 * @param {Object} [cfg] 回调函数对象配置
 *      @param {Function} [cfg.success] 成功回调函数
 * @example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.stopRecord({
 *          success:function(src){
 *               //返回录音生成的文件路径
 *              //如果是android系统,src的上传路径是cordova.file.externalRootDirectory+src
 *              //如果是ios系统,src即为上传路径
 *          },
  *         error:function(e){
  *             //请对照错误码进行处理
  *         }
 *     });
 * </script>
 * ```
 */

/**
 * 播放录音
 * @method playVoice
 * @namespace cmp.audio
 * @param {Object} options 播放录音参数配置
 *      @param {String} options.url 播放文件地址
 *      @param {Function} [options.success] 成功播放完毕回调函数
 *      @param {Function} [options.error] 失败回调函数
 *      @param {Function} [options.initSuccess] 成功开始播放的回调函数
 * @example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.playVoice({
 *          url:"播放的路径",
 *          initSuccess:function(){
 *                //do something
 *          },
 *          success:function(src){
 *               //返回录音生成的文件路径
 *              //如果是android系统,src的上传路径是cordova.file.externalRootDirectory+src
 *              //如果是ios系统,src即为上传路径
 *          },
  *         error:function(e){
  *             //请对照错误码进行处理
  *         }
 *     });
 * </script>
 * ```
 */

/**
 * 停止播放
 * @method stopVoice
 * @namespace cmp.audio
 * @param {Object} obj 参数对象配置
 *      @param {String} obj.url 播放文件地址
 *      @param {Function} [obj.success] 成功回调函数
 * @example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.stopVoice({
 *          url:"停止播放的路径",
 *          success:function(src){
 *               //返回录音生成的文件路径
 *              //如果是android系统,src的上传路径是cordova.file.externalRootDirectory+src
 *              //如果是ios系统,src即为上传路径
 *          }  //请对照错误码进行处理
 *     });
 * </script>
 * ```
 */

/**
 * 获取播放时间
 * @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] 点击取消按钮的回调
 *@example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.init({
 *          text:"标题",
 *          callback:function(src){
 *               //返回录音生成的文件路径
 *              //如果是android系统,src的上传路径是cordova.file.externalRootDirectory+src
 *              //如果是ios系统,src即为上传路径
 *          },
 *          cancelCallback:function(){

 *          }
 *     });
 * </script>
 * ```
 */
/**
 * 播放录音UI界面
 * @method play
 * @namespace cmp.audio
 * @param {Object} options 调用配置参数
 *      @param {String} options.filepath 录音文件的地址
 *      @param {String} options.filename 录音文件的名称
 *      @param {Function} [options.cancelCallback] 点击取消按钮的回调
 *@example
 * ```
 * 文件导入路径:
 * M3App端
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp.css"></link>
 *  <link rel="stylesheet" href="http://cmp/v/css/cmp-audio.css"></link>
 *  <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 *  <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 *  <script  src="http://cmp/v/js/cmp.js"></script>
 *  <script  src="http://cmp/v/js/cmp-audio.js"></script>
 *  ===========================================================================================
 *  微协同端:不支持
 *  =========================================================================================
 *  调用组件
 * <script>
 *     cmp.audio.play({
 *          filepath:cordova.file.externalRootDirectory+"/storage/emulated/0/m3/files/cmp_recording_sds12.wav",
 *          filename:"cmp_recording_sds12.wav",
 *          cancelCallback:function(){
 *          }
 *     });
 * </script>
 * ```
 */



    
Top