查询可实现语音音量可视化动态条的Flutter开发包
可实现该效果的Flutter包推荐
percent_indicator
这个包支持高度可定制的线性进度条,可自由配置高度、背景色、进度条颜色、圆角值等参数,完全适配你需要的蓝色条形随音量伸缩效果。你只需要将Google语音API返回的实时音量参数归一到0-1的区间,直接赋值给组件的进度属性即可。flutter_animated_progress
自带平滑过渡动画的进度条组件,音量更新时会自动触发自然的伸缩动画,不会出现进度条跳变的生硬效果,你只需要传入映射后的进度值即可直接使用。- 也可以直接基于Flutter自带的
CustomPaint自定义实现
如果不想引入额外依赖,手写该组件的代码量不超过50行:先把拿到的音量值映射为条形的宽度,再绘制带圆角的蓝色矩形即可,还可以完全匹配你项目的UI设计细节。
配套实现注意事项
你使用的Google Speech Flutter包本身会返回实时音频的RMS音量参数,你可以先将该参数的取值范围校准为0-1的进度区间,为了避免音量波动导致进度条跳动频繁,可以加个简单的滑动平均滤波,取最近3次的音量平均值赋值给进度条即可。
内容的提问来源于stack exchange,提问作者lele
相关产品推荐
相关产品推荐

