android:textSize=“40sp”

android:textStyle=“bold”/>

<ImageView

android:id="@+id/iv_record_wave_right"

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_margin=“5dp”

android:background="@drawable/record_wave_right" />

<ScrollView

android:id="@+id/absclv"

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:layout_below="@id/rl"

android:focusable=“false”

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

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》浏览器打开:qq.cn.hn/FTe 免费领取

;

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();

Android 分贝测试仪功能,你会的还只有初级Android工程师的技术吗相关推荐

  1. 你会的还只有初级安卓工程师的技术吗?论程序员成长的正确姿势

    前言 这里整理的是一些与技术没有直接关系的面试题,但是能够考察你的综合水平,所以不要以为不是技术问题,就不看,往往有时候就是这样一些细节的题目被忽视,而错过了一次次面试机会. 想要成为一名优秀的And ...

  2. 大专生出身?你会的还只有初级Java工程师的技术吗

    一面 介绍一下自己 问项目经历, 聊"数据同步" 接着聊上了 K8S 的项目 有没有什么钻研得比较深得技术?(大佬:kubernetes, golang, prometheus, ...

  3. Android 快速修复功能,安卓系统修复工具(ReiBoot for Android)v2.1.0免费版

    通过ReiBootforAndroid用户可以解决自己手机的大部分问题并将其快速回复到最佳状态,ReiBootforAndroid一款非常好用的安卓手机系统修复软件.像是黑屏.卡在下载界面或者顺序解体 ...

  4. android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果

    使用几个月的IOS之后,发现IOS中侧滑删除俺就 大家好,自己开始学习Android已经差不多半年了吧,前前后后看了不少的博客获益匪浅.渐渐的随着技术的提升,慢慢感觉网上其它的一些功能的实现又不是那么 ...

  5. android裁剪图片功能,实战:七步教你Android图片拍摄及剪裁

    [IT168技术]现在,很多Android设备都有内置的摄象头了,在本教程中,我们将学习如何在程序中调用Android手机中的摄象头进行图像的摄制,并且如何在拍摄照片后,如何利用用户已经安装在设备中的 ...

  6. Android护眼功能,双非本科字节跳动Android面试题分享

    //打开左边的抽屉 mDrawerLayout.openDrawer(Gravity.LEFT); break; case R.id.bt_start_inform: startService(int ...

  7. 努比亚android P的功能,一加手机注意了!Android P正式版带来了这项亮点十足功能...

    原标题:一加手机注意了!Android P正式版带来了这项亮点十足功能 11月5日,一加将在深圳发布下半年旗舰一加6T,对于近期想入手新机的朋友们又多了一个选择.在10月12日一加手机官宣Androi ...

  8. 小米Android N新功能,快升级牛轧糖 小米Android N支持汇总

    [PChome 手机频道资讯报道]小米目前的MIUI系统版本已经升级到MIUI 8.2,不久之后MIUI 9也将正式与我们见面.小米在稳步推进MIUI版本的同时,也没有忘记安卓底层版本的更新,根据MI ...

  9. android 相机 全功能,一加7系首个Android 11公测代码暗示了相机应用的诸多功能更新...

    (来自:OnePlus 论坛) 首先介绍"倾斜位移"(Tilt-shift)模式:这项摄影技术可使场景显得较实际要小得多. XDA-Developers 在 Lossyx 帮助下展 ...

最新文章

  1. NR 5G RRC连接重建
  2. monit 内存 监控_如何借助Monit搭建服务器监控系统?(1)
  3. 【腾讯Bugly干货分享】Android内存优化总结实践
  4. 程序员面试金典 - 面试题 16.19. 水域大小(BFS/DFS)
  5. java 注解报错_eclipse编译项目:Java @Override 注解报错的解决方法
  6. Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend)问题的解决
  7. ETH突破620美元关口 日内涨幅为5.36%
  8. linux -初步认识之软件安装
  9. 台式计算机调亮度,台式电脑显示器屏幕亮度怎么调节?
  10. 嫡权法赋权法_权重确定方法之熵权法
  11. 金融分析(三)------联合分布,边缘分布,条件概率密度
  12. github学习教程
  13. Android音频架构概览
  14. Arduino与Matlab的串口通讯:通过光敏电阻进行人数统计,以及改进:人物方向的判断并进行加减。
  15. 四川2021高考体考成绩查询,2021年四川体育专业考试成绩查询网址:https://www.sceea.cn/...
  16. 家用计算机硬件升级方案,旧电脑如何升级提速,老电脑升级方案!
  17. 知乎zse-96算法-js补环境方案
  18. 关于纸质书管理APP的测评
  19. 找合适的PMP机构只需2步搞定,一查二问
  20. 不健康的细节-洗衣粉

热门文章

  1. QAbstractItemView子类如:QTreeView、QTableView等子项单元格复选框勾选/取消勾选功能实现
  2. opencv下使用SVM进行简单颜色分类
  3. 驱动开发:蓝屏BSOD 0x3B 内存访问错误
  4. UltraWinGrid冻结列和dataGridView冻结列
  5. vSphere7虚拟机迁移报兼容性问题无法迁移
  6. jlink 固件升级
  7. 遥感理论基础——电磁波(一)
  8. 10-221 在员工表中查询入职最晚的员工的编号,姓名和入职日期
  9. 英文pdf文档怎么翻译中文?免费PDF翻译的方法?
  10. 产品样机展示客户不满意?试试用Visualize这样做!