Android 仿微信语音聊天音量大小显示控件

本文介绍了如何仿制微信语音聊天时显示音量大小的控件。通过分析,确定控件由一个ImageView和一个自定义View组成,自定义View模拟上宽下窄的梯形,并根据实时音量绘制梯度。通过调整相关参数,实现了音量变化时梯形着墨区域的变化。文章提供了一部分关键代码,并提到了获取麦克风分贝的方法链接。最后,提供了源码下载。
摘要由CSDN通过智能技术生成

某日用微信语音功能聊天,发现当我使用语音功能时,会弹出一个窗口,窗口中间有一个控件会实时的显示我说话声音的大小(即分贝)。当时觉得挺好玩,决定也仿制一个,效果如下
这里写图片描述
分析控件显示效果,可判断左边是一个imgview,右边是一个可以根据实时音量大小绘制梯度显示的自定义view。那就先解决这个自定义view。
我们可以把这个自定义view看成是一个上宽下窄的梯形,而且在纵向上等间距的着墨绘制。用一张图或许可以更好的表示。
这里写图片描述
上图是一个在笛卡尔坐标系中的梯形图,上底下底平行于X轴,startX对应的点是斜线的出发点,斜线在x轴方向上的偏移量mDx与y轴上偏移量mDy的关系mDx=K*mDy;mDyFill对应的区域是着墨区,mDyEmpty对应的是空白区,且mDy=mDyFill+mDyEmpty.我们可以通过修改以上数值进而修改着墨的区域。因为该自定义view不会在多处使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值