• Android之录音工具类


    /**
     * 录音工具类
     * 
     * @author rendongwei
     * 
     */
    public class RecordUtil {
        private static final int SAMPLE_RATE_IN_HZ = 8000;
        private MediaRecorder recorder = new MediaRecorder();
        // 录音的路径
        private String mPath;
    
        public RecordUtil(String path) {
            mPath = path;
        }
    
        /**
         * 开始录音
         * 
         * @throws IOException
         */
        public void start() throws IOException {
            String state = android.os.Environment.getExternalStorageState();
            if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
                throw new IOException("SD Card is not mounted,It is  " + state
                        + ".");
            }
            File directory = new File(mPath).getParentFile();
            if (!directory.exists() && !directory.mkdirs()) {
                throw new IOException("Path to file could not be created");
            }
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
            recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
            recorder.setAudioSamplingRate(SAMPLE_RATE_IN_HZ);
            recorder.setOutputFile(mPath);
            recorder.prepare();
            recorder.start();
        }
    
        /**
         * 结束录音
         * 
         * @throws IOException
         */
        public void stop() throws IOException {
            recorder.stop();
            recorder.release();
        }
    
        /**
         * 获取录音时间
         * 
         * @return
         */
        public double getAmplitude() {
            if (recorder != null) {
                return (recorder.getMaxAmplitude());
            }
            return 0;
        }
    }
  • 相关阅读:
    清除微信浏览器缓存
    JS实现HTML标签转义及反转义
    mvc中服务器端、客户端属性验证
    Ajax.ActionLink参数详解
    Ajax.BeginForm参数详解
    AjaxHelper简介
    将博客搬至CSDN
    Sequelize小记
    端口: 查看端口状态
    搭建git服务器
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3461399.html
Copyright © 2020-2023  润新知