最近在仿微信开发聊天界面:开发到一个有意思的小东西,简单写一写。就是录音声波这块。

首先先添加几个图片

添加如上三个声波图表

之后建立一个数组

private int[] images = {R.mipmap.ico_yuyinhui_1,R.mipmap.ico_yuyinhui_2,R.mipmap.ico_yuyinhui_3};

有了数组后就可以建立一个handler来刷新界面了

private final Handler mHandler = new Handler(){

public void handleMessage(android.os.Message msg) {

switch (msg.what){

case 0:

case 1:

case 2:micImage.setBackground(getResources().getDrawable(micImages[what],getResources().newTheme()));

break;

}

};

};

之后建立主要代码区

private Runnable mUpdateMicStatusTimer = new Runnable() {

public void run() {

updateMicStatus();

}

};

private int BASE = 1;

private int SPACE = 100;// 间隔取样时间

private void updateMicStatus() {

if (mMediaRecorder != null) {

double ratio = (double)mMediaRecorder.getMaxAmplitude() /BASE;

double db = 0;// 分贝

if (ratio > 1)

db = 20 * Math.log10(ratio);

uiHandler.postDelayed(mUpdateMicStatusTimer, SPACE);

//分贝在50 - 90 之间

int min = db - 50;

if(min<0){

min = 0;

}

int step = (min)/((90-50)/3);

if(step>2){

step = 2;

}

Logger.d(step+"step updateMicStatus");

uiHandler.sendEmptyMessage(step);

}

}

特别要注意的是要在测试完后移除线程

uiHandler.removeCallbacks(mUpdateMicStatusTimer);

具体layout代码我就不写了,非常简单。

如果有什么问题在下面提就好了。

效果图如下

android录音声波动画,Android开发:仿微信 录音声波相关推荐

  1. 使用Flutter实现仿微信录音的插件

    文章目录 使用Flutter实现 仿微信录音的插件 1,引入 使用 1, 初始化录制 2, 开始录制 3, 停止录制 4, 播放 3, 释放资源 4,回调监听 2,录制组件的使用 1,在使用的页面进行 ...

  2. iOS开发-类似微信录音上滑取消功能

    iOS开发-类似微信录音上滑取消功能 前言 效果 代码 先自定义UIButton 使用 监听上下滑动代码 前言 在社交媒体中开发中遇到需要做类似微信录音上滑取消功能,例子,虽然不是很好看,但是细节满满 ...

  3. php 微信 语音,PHP语言微信开发:微信录音临时转永久存储

    本文主要向大家介绍了PHP语言微信开发:微信录音临时转永久存储,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效.就 ...

  4. Android开发--仿微信语音对讲录音

    在此感谢鸿洋大神,因为我这是在慕课上看大神的视频做出来的. 代码中我已经添加了很多很多注释,不光是为了大家,也是为了自己能够更加透彻的理解该功能 支持原创,也不算原创了哈哈~ http://blog. ...

  5. android仿微信点击好友,安卓开发仿微信联系人列表-机器人列表视图仿微通道聊天多久最底部滑动...

    楼主你好!根据你的描述,让我给你答案! :新内容加进来,列表视图重新为setSelection后,定位结束后,拉起一个页面放. . 希望你能有所帮助,如果满意,请记得采纳像下拉条为微信好友如何实现 简 ...

  6. android 清理缓存动画,Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解...

    最近接了一个项目其中有功能要实现一个清理内存,要求和微信的效果一样.于是想到用surfaceView而不是继承view.下面小编给大家解析下实现思路. surfaceView是为了解决频繁绘制动画产生 ...

  7. android中点击加号动画,android animation之scale 缩放(仿微信加号弹出菜单的动画效果)...

    仿微信 +号 处理事件:弹出菜单的动画效果--缩放(反义词) 放大效果(缩小的代码只需将fromXScale和toXScale,:fromYScale和toYScale变换) android:inte ...

  8. android 仿微信录音,Android 模仿微信长按录音功能

    Android 模仿微信长按录音功能 布局就两个button这里不多介绍了. 下面是activity内的代码 package com.example.forevercloud.myapplicatio ...

  9. android开发--仿微信朋友圈界面

    话不多说,先来看两张效果图 看图片效果还凑合,就是"朋友圈"三个字和头像的动画过渡效果和微信朋友圈的实际效果还是有点差距,可以的话以后慢慢再优化吧,这里贴出相关的代码,可能部分代码 ...

最新文章

  1. R语言单因素方差分析与协方差分析
  2. ShuffleNetV2 centernet
  3. sqlite.interop.dll 请确保此文件可以访问_不用数据线,一秒让电脑和iphone快速传文件...
  4. 【WEB API项目实战干货系列】- WEB API入门(一)
  5. 【Gamma】PhyLab 测试报告
  6. 机器学习中回归问题的性能衡量指标
  7. FreeBSD 11.0-发布公告
  8. 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
  9. openwrt qca9886 ath10k只能连32台设备问题解决
  10. 深度学习算法-YOLO
  11. 古体字与简体字对照表_简体字与繁体字对照表大全.pdf
  12. python神经网络编程 代码,python神经网络算法代码
  13. LeetCode:Confusing Number II
  14. mysql图形查询操作 点找面及面找点 Polygon获取中心点坐标 空间地理位置计算
  15. 于二〇〇八年十一月二十六日有所思而作
  16. 如何在VMware虚拟机中查看Linux的IP地址
  17. nas系统存储服务器,企业搭建NAS存储服务器的三部曲,你都清楚嘛?
  18. 图数据库发展趋势概览
  19. 传统行业如何“玩”大数据?
  20. android 百度地图禁止双击放大缩小,百度地图API 在使用点聚合时,如果放大、缩小或移动地图时,添加的文字标签会消失...

热门文章

  1. 云南大学研究生院c语言真题,云南大学地图学与地理信息系统研究生考试科目和考研参考书目...
  2. 第二届阿里巴巴大数据智能云上编程大赛亚军比赛攻略
  3. 备份android分区,安卓手机手动【备份+还原】分区
  4. 【干货】1.5W+字的全链路前端性能优化送给你
  5. 机器人工程专业学习金字塔
  6. java se和java_Java SE 9非常适合灵活,可扩展和无服务器的未来
  7. C程序--输出月份英文名(指针数组)
  8. 服务器上Ubuntu系统安装
  9. 知识图谱技术在大数据时代的必要性分析
  10. PacBio vs. Oxford Nanopore sequencing