import android.media.MediaRecorder;
import android.os.Environment; import java.io.File;
import java.io.IOException; public class RecoderUtils { private final MediaRecorder recorde = new MediaRecorder();
private final String path;
private static int SAMPLE_RATE_IN_HZ = 8000; public RecoderUtils(String path) {
this.path = sanitizePath(path);
} private String sanitizePath(String path) {
if (!path.startsWith("/")) {
path = "/" + path;
}
if (!path.contains(".")) {
path += ".amr";
}
return Environment.getExternalStorageDirectory().getAbsolutePath() + "/myvoice" + path;
} /** 开始录音 */
public void start() {
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
return;
}
File directory = new File(path).getParentFile();
if (!directory.exists() && !directory.mkdirs()) {
return;
} try {
// 设置声音的来源
recorde.setAudioSource(MediaRecorder.AudioSource.MIC);
// 设置声音的输出格式
recorde.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
// 设置声音的编码格式
recorde.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
// 设置音频采样率
recorde.setAudioSamplingRate(SAMPLE_RATE_IN_HZ);
// 设置输出文件
recorde.setOutputFile(path);
// 准备录音
recorde.prepare();
// 开始录音
recorde.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} /** 停止录音 */
public void stop() {
try {
// 停止录音
recorde.stop();
// 释放资源
recorde.release();
} catch (Exception e) {
e.printStackTrace();
}
} public double getAmplitude() {
if (recorde != null) {
return (recorde.getMaxAmplitude());
} else
return 0;
} }

RecoderUtils录音工具类的更多相关文章

  1. Android之录音工具类

    /** * 录音工具类 * * @author rendongwei * */ public class RecordUtil { private static final int SAMPLE_RA ...

  2. 随笔分类 - Android之工具类

    Android之文件搜索工具类 /** * @detail 搜索sdcard文件 * @param 需要进行文件搜索的目录 * @param 过滤搜索文件类型 */ private void sear ...

  3. 实用工具类--第三方开源--Lazy

    下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabas ...

  4. utils部分--一些通用的工具类封装

    1.简介 utils部分是对一些常用的工具类进行简单的封装,使用起来比较方便.这里列举常用的一些. 2.ContextUtils使用 主要封装了网络判断.一些方法解释如下: ? 1 2 3 4 5 6 ...

  5. Android 系统工具类

    系统工具类 public class systemUtil { //隐藏ipad底部虚拟按键栏 @RequiresApi(api = Build.VERSION_CODES.KITKAT) publi ...

  6. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  7. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  8. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  9. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

随机推荐

  1. PhpStorm添加PHP代码规范检查CodeSniffer(phpcs)和PHP代码静态分析工具Mess Detector(phpmd)

    一.安装 添加镜像,加速下载 ./composer.phar  config -g repo.packagist composer https://packagist.phpcomposer.com ...

  2. C和指针课后问答题答案翻译

    第11章 动态内存分配 1.在你的系统中,你能够声明的静态数组最大长度能达到多少?使用动态内存分配,你最大能够获取的内存块有多大? 英文答案原文: This will vary from system ...

  3. web开发:javascript操作

    一.函数闭包 二.面向对象 三.js选择器 四.事件初始 五.js处理页面内容 六.js事件控制标题栏 七.js控制类名 一.函数闭包 ```js// 函数的嵌套定义, 定义在内部的函数就称之为 闭包 ...

  4. java_实现Hello World

    1.新建项目 在空白处右击--New--java Project 2.项目文件结构 新建了项目之后项目文件在工作空间里面,(如果忘记工作空间的路径可以点击File---Switch Workspace ...

  5. python产生错误:can only concatenate str (not "int") to str

    代码为: #!/usr/bin/python # _*_ coding:utf-8_*_ # print("hello world!") name = input("na ...

  6. UVALive 6859——凸包&&周长

    题目 链接 题意:在一个网格图上,给出$n$个点的坐标,用一个多边形包围这些点(不能接触,且多边形的边只能是对角线或直线),求多边形的最小周长. 分析 对于每个点,我们考虑与之相邻的4个点.一共由 $ ...

  7. springboot2.0入门(四)----mock模拟测试+单元测试

    一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象 ...

  8. L1L2

    https://baijiahao.baidu.com/s?id=1595711904189222402&wfr=spider&for=pc https://www.cnblogs.c ...

  9. PHP mysqli_get_server_info() 函数

    定义和用法 mysqli_get_server_info() 函数返回 MySQL 服务器版本. 语法 mysqli_get_server_info(connection); 实例 返回 MySQL ...

  10. 如何复制word的图文到ueditor中自动上传?

    官网地址http://ueditor.baidu.com Git 地址 https://github.com/fex-team/ueditor 参考博客地址 http://blog.ncmem.com ...