【实例简介】

【实例截图】

【核心代码】

package me.daei.soundmeter;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.widget.Toast;

import java.io.File;

import me.daei.soundmeter.widget.SoundDiscView;

public class MainActivity extends AppCompatActivity {

private boolean bListener = true;

private boolean isThreadRun = true;

private Thread thread;

float volume = 10000;

private SoundDiscView soundDiscView;

private MyMediaRecorder mRecorder ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mRecorder = new MyMediaRecorder();

}

private void startListenAudio() {

thread = new Thread(new Runnable() {

@Override

public void run() {

while (isThreadRun) {

try {

if(bListener) {

volume = mRecorder.getMaxAmplitude(); //获取声压值

if(volume > 0 && volume < 1000000) {

World.setDbCount(20 * (float)(Math.log10(volume))); //将声压值转为分贝值

soundDiscView.refresh(); //刷新View [注]子线程

}

}

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

bListener = false;

}

}

}

});

thread.start();

}

/**

* 开始记录

* @param fFile

*/

public void startRecord(File fFile){

try{

mRecorder.setMyRecAudioFile(fFile);

if (mRecorder.startRecorder()) {

startListenAudio();

}else{

Toast.makeText(this, "启动录音失败", Toast.LENGTH_SHORT).show();

}

}catch(Exception e){

Toast.makeText(this, "录音机已被占用或录音权限被禁止", Toast.LENGTH_SHORT).show();

e.printStackTrace();

}

}

@Override

protected void onResume() {

super.onResume();

soundDiscView = (SoundDiscView) findViewById(R.id.soundDiscView);

bListener = true;

File file = FileUtil.createFile("temp.amr");

if (file != null) {

Log.v("file", "file =" file.getAbsolutePath());

startRecord(file);

} else {

Toast.makeText(getApplicationContext(), "创建文件失败", Toast.LENGTH_LONG).show();

}

}

/**

* 停止记录

*/

@Override

protected void onPause() {

super.onPause();

bListener = false;

mRecorder.delete(); //停止记录并删除录音文件

thread = null;

}

@Override

protected void onDestroy() {

if (thread != null) {

isThreadRun = false;

thread = null;

}

mRecorder.delete();

super.onDestroy();

}

}

java获取分贝_android 声音强度、分贝 大小检测 源码下载(as版)相关推荐

  1. Java基于Redis实现“附近的人”(含源码下载)

    "附近的人"在社交类APP已成为标配的功能,Low一点的实现方式可以把坐标存至关系型数据库,通过计算的坐标点距离实现,这种计算可行但计算速度远不及内存操作级别的NoSql数据库. ...

  2. 猫狗动物声音模拟器微信小程序源码下载各种类型的声音模拟

    这是一款声音模拟器准确说是猫和狗的声音模拟器 该款小程序无需服务器和域名 所以该款小程序也就没有后端了 使用方法 直接用微信开发者工具打开源码上传提交审核即可 无需过段复杂的过程,文字图片那些都可以自 ...

  3. java获取当前周一_Java互联网架构-Spring IOC源码分析

    欢迎关注头条号:java小马哥 周一至周日下午三点半!精品技术文章准时送上!!! 精品学习资料获取通道,参见文末 源码介绍之前,看几个问题: Bean的承载对象是什么? Bean的定义如何存储的? B ...

  4. java 获取包下的所有类,附完整源码和测试代码

    java 获取包下的所有类,完整Java代码如下: package com.example.demo.util;import java.io.File; import java.io.FileFilt ...

  5. android-调用系统的ContentPrivder获取单张图片实现剪切做头像及源码下载

    首先讲述这个小项目的特色: 1.调用系统的相册应用获取单张图片 2.对单张图片进行剪切方便做成指定大小的头像图片 3.对获取图片的结果进行解析,使用三种方式进行. 首先看看效果图: 打开app,进入注 ...

  6. Android 音视频深入 十七 FFmpeg 获取RTMP流保存为flv (附源码下载)

    项目地址 https://github.com/979451341/RtmpSave 这个项目主要代码我是从雷神那弄过来的,不愧是雷神,我就配个环境搞个界面就可以用代码了. 这一次说的是将RTMP流媒 ...

  7. java技术分享主题_Java开发入门:适合新手练手的Java项目(附源码下载)

    Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个神话.虽然不少人曾抱怨Java语言就像老太太的裹脚布,又臭又长,有时写了500行都不能表达程序员的意图. 但从市场 ...

  8. effective java英文版pdf_Java之Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse...

    框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...

  9. java验证码源码_Java通用验证码程序及应用示例(提供源码下载)

    评论 # re: Java通用验证码程序及应用示例(提供源码下载) 2009-11-27 17:09 零全零美 多谢博主写出这么好的总结,如果能加上汉字验证码,会更完美!  回复  更多评论 # re ...

最新文章

  1. 滴滴自动驾驶部门成立独立公司,CTO张博兼任新公司CEO
  2. Kubernetes 日志收集的原理,看这一篇就够了
  3. 三阶魔方自动还原 vc实现
  4. Android Jetpack组件之数据库Room详解(三)
  5. ubuntu nginx php7,ubuntu 16 安装php7+nginx
  6. 限制对web路径的访问
  7. 关于Java里try/catch/finally/有return时执行过程
  8. ZGrapher 画函数曲线图的工具
  9. 黑马2018年JavaEE课程大纲
  10. Session的常用场景
  11. python的matplotlib画图时独立窗口_解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题...
  12. layui实际项目使用过程中遇到的兼容性问题
  13. Modelica运算符
  14. ArduinoUNO实战-第七章-PWM调光
  15. vue 选项卡切换
  16. [Jenkins] docker-slim 容器瘦身的使用
  17. Android gradient 三色渐变背景 Shap
  18. Hexo图片外链生成专用文章
  19. 你不可不用的十类Mac装机必备软件
  20. 集牛气 展虎威 | 指令集祝您新春快乐,虎年大吉!

热门文章

  1. 定向推送,虚假宣传,资本助力的团油有谁撑腰?
  2. python的pack方法_pack() Method
  3. 赵长鹏回复协助洗钱质疑; 欧洲通过区块链监管
  4. dialog中的edit无法弹出输入法
  5. 计算机vf的讲解,计算机二级《VFP》知识点讲解:查询和视图
  6. 信息学奥赛一本通题库1004 字符三角形
  7. 解决mysql远程连接等待时间长的问题
  8. 职业规划之前请认真读读以下19个故事(2)
  9. php自动安装dz程序,au3 自动安装程序制作视频教程
  10. NOIP 前的垂死挣扎