Android Visualizer
系统 Visualizer 提供了方便的 api 来获取播放音频的波形或 FFT 数据,一般使用方式是:
- 用 audio session ID 创建
Visualizer对象,传 0 可获取混音后的可视化数据,传特定播放器或AudioTrack所使用的 audio session 的
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
ID,可获取它们所播放音频的可视化数据
2. 调 setCaptureSize 方法设置每次获取的数据大小,调 setDataCaptureListener 方法设置数据回调并指定获取数据频率(即回调频率)和数据类型(波形或 FFT)
3. 调 setEnabled 方法开始获取数据,不再需要时调 release 方法释放资源
更详细的 api 信息可查看官方文档。
系统 Visualizer 输出的数据大小正比于音量,当音量为 0 时,输出也为 0,可视化效果会随音量变化。
使用系统 Visualizer 存在兼容性问题,在有些机型上会导致系统音效失效,如要在所有机型上都能无副作用地展示动效,需要实现自定义 Visualizer。

本文详细介绍了如何在Android中实现音频可视化的自定义Visualizer,解决系统Visualizer的兼容性问题。通过计算FFT并在播放进程中与主进程间传输数据,确保数据平滑处理和固定频率发送。此外,还介绍了一种类似系统图形框架BufferQueue的数据处理机制,以提高动效绘制的并行性和主线程效率。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



