android:focusableInTouchMode=“true”

android:background="@android:color/white">

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:orientation=“vertical”>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:orientation=“horizontal”

android:padding=“10dp”>

<TextView

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:text=“10dB”

android:textColor="@android:color/holo_green_light"

android:textSize=“20dp”

android:textStyle=“bold” />

<TextView

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_marginLeft=“10dp”

android:text=“呼吸声”

android:textColor="@android:color/darker_gray"

android:textSize=“20sp”/>

<View

android:layout_width=“wrap_content”

android:layout_height=“1dp”

android:background="@android:color/darker_gray"/>

。。。。

分贝值旁边的两个小喇叭是有动画效果的animation-list

接下来是 MicDemoActivity 完成开启麦克风接收音量功能

package com.rikka.toolbox;

import android.app.Activity;

import android.graphics.drawable.AnimationDrawable;

import android.media.MediaRecorder;

import android.os.Bundle;

import android.os.Environment;

import android.os.Handler;

import android.os.Message;

import android.support.annotation.Nullable;

import android.util.DisplayMetrics;

import android.util.Log;

import android.view.View;

import android.view.WindowManager;

import android.widget.ImageView;

import android.widget.TextView;

import java.io.File;

import java.io.IOException;

import java.text.DecimalFormat;

public class MicDemoActivity extends Activity {

private MicroPhoneThread microPhone = new MicroPhoneThread(); //线程用于实时录制周围声音

public boolean istrue = true;

private MediaRecorder mARecorder; //麦克风控制

private File mAudiofile,mSampleDir; //录音文件保存

private ImageView iv_record_wave_left,iv_record_wave_right;

private AnimationDrawable ad_left,ad_right;

private TextView textView1;

private MHandler mHandler = new MHandler();

class MHandler extends Handler{

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

switch (msg.what){

case 1:

textView1.setText(msg.obj.toString());

}

}

}

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

setContentView(R.layout.activity_mic);

init();

}

private void init() {

//初始化左侧动态动画控件

iv_record_wave_left = findViewById(R.id.iv_record_wave_left);

iv_record_wave_right = findViewById(R.id.iv_record_wave_right);

ad_left = (AnimationDrawable) iv_record_wave_left.getBackground();

ad_right = (AnimationDrawable) iv_record_wave_right.getBackground();

ad_left.start();

ad_right.start();

textView1 = findViewById(R.id.textView1);

}

@Override

protected void onStart() {

super.onStart();

//录音获取麦克风声音

mARecorder = new MediaRecorder(); //声音录制

mARecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //录制的音源为麦克风

mARecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR); //设置音频文件的编码

mARecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //设置audio格式

try{

mSampleDir = Environment.getExternalStorageDirectory(); //获取手机内存路径

//用IM+系统当前时间为文件名建立.amr的文件,文件路径为mSampleDir

mAudiofile = File.createTempFile(“IM” + System.currentTimeMillis(),".amr",mSampleDir);

} catch (IOException e) {

Log.e(“IMMESSAGE”,“sdcard access error”);

}

mARecorder.setOutputFile(mAudiofile.getAbsolutePath()); //设置路径

try{

mARecorder.prepare();

} catch (IOException e) {

e.printStackTrace();

}

mARecorder.start();

microPhone.start();

}

//返回功能

public void onBack(View v){

MicDemoActivity.this.finish();

}

class MicroPhoneThread extends Thread{ //测试当前分贝值通知UI修改

final float minAngle = (float) Math.PI * 4 / 11;

float angle;

@Override

public void run() {

while(istrue){

angle = 100 * minAngle * mARecorder.getMaxAmplitude() / 32768;

if(angle > 100){

angle = 100;

Android 分贝测试仪功能相关推荐

  1. Android 分贝测试仪功能,你会的还只有初级Android工程师的技术吗

    android:textSize="40sp" android:textStyle="bold"/> <ImageView android:id=& ...

  2. 荷包app软件测试,智能分贝测试仪app

    智能分贝测试仪app 智能分贝测试仪app是一款可以通过手机麦克风对周边环境噪音进行检测评估的软件,检测完成之后,会为用户显示当前的环境噪音分贝值,还可以根据用户的定位设置,来判定,当前的噪音水平对于 ...

  3. Android 实现闹钟功能

      原文地址:Android 实现闹钟功能作者:Android_Learners 一.手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以 ...

  4. android 添加附件功能,Android实现带附件的邮件发送功能

    本文实例讲解了基于基于jmail实现android邮件发送功能,分享给大家供大家参考,具体内容如下 在android上发送邮件方式: 第一种:借助gmail app客户端,缺点是必须使用gmail帐号 ...

  5. android倒计时功能,android实现倒计时功能(开始、暂停、0秒结束)

    本文实例为大家分享了android实现倒计时功能的具体代码,供大家参考,具体内容如下 [思路]:通过 timer 执行周期延时的任务,handler 中将计时信息更新,并在计时结束时结束 timer ...

  6. android p新功能_android 11今天发布这是新功能

    android p新功能 Google has just released the upgraded OS to select Pixel, OnePlus, and Xiaomi phones. A ...

  7. android 带清除功能的输入框控件

    今天,看到一个很好的自定义输入框控件,于是记录一下. 效果很好: 一,自定义一个类,名为ClearEditText package com.example.clearedittext;import a ...

  8. android 调用红外模块,Flutter调用Android模块的功能

    Flutter调用Android模块的功能,主要通过MethodChannel Flutter端 const MethodChannel _channel = const MethodChannel( ...

  9. android 最新功能介绍,Android Studio 常用功能介绍

    界面介绍 讲解1 这个界面,显示了我们使用 Android Studio时经常接触到的功能面板. Project 面板. 用于浏览项目文件. Project 面板会显示当前的所有的 module .  ...

  10. 集成Android免费语音合成功能(在线、离线、离在线融合),有这一篇文章就够了(离线)

    原址 集成Android免费语音合成功能(在线.离线.离在线融合),有这一篇文章就够了(在线) 集成Android免费语音合成功能(在线.离线.离在线融合),有这一篇文章就够了(离在线融合)     ...

最新文章

  1. python SSL error: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) 解决方法
  2. python决策树生成规则_如何从scikit-learn决策树中提取决策规则?
  3. Scrapy框架的学习(8.scrapy中settings.py里面配置说明以及怎样设置配置或者参数以及怎样使用)
  4. 2018年12月7日 字符串格式化2 format与函数1
  5. 【iOS开发-74】解决方式:Xcode6下利用preference保存数据,终于的plist文件在哪里?...
  6. Teamviewer
  7. Qt实现Areo效果
  8. 计算机操作系统答案(完整版)
  9. 机房工程主要施工方法和机房工程验收
  10. yylabel 加载html,YYLabel的简单使用
  11. Python实现飞翔的小鸟
  12. 一个基于Angular4+Bootstrap4+Scss的后台管理系统界面
  13. 基于云服务创建实时运营数据分析服务(二)
  14. 区块链应用项目背景_项目路演背景介绍区块链 什么是区块链
  15. 上联:男足输完日本,输越南 下联:女足赢完越南,赢日本 横批:公仇母报
  16. 视觉在机器人领域的应用
  17. 计算机课高数怎么过,我是大一新鸟,学软件,想向大虾们讨教几手,我有高数,英语,法律.计算机,4门课,我该怎么学!介绍越详细越好,...
  18. 2018-12-12
  19. 圣诞节快要来了,可我就是_我圣诞节想要的一切:前奏便携式无线充电器
  20. 用Python简单模拟《原神》抽卡系统

热门文章

  1. php公文流转管理系统,OA办公系统公文流转
  2. 【数竞笔记2】—— 常见积分方法
  3. 【虚拟机】VMWare虚拟机中大小写切换失效的解决方法
  4. 拉格朗日插值公式详解
  5. python艺术分形数_Python分形框计数 – 分形维数
  6. IO流和NIO流的区别
  7. STM8S单片机入门1(开发环境搭建)
  8. 基于 AngularJS 的 UI 框架 Suave UI
  9. win7纯净版系统哪里下载好
  10. 电脑Win7系统桌面图标太大怎么调小