Android Visualizer
系统 Visualizer
提供了方便的 api 来获取播放音频的波形或 FFT 数据,一般使用方式是:
- 用 audio session ID 创建
Visualizer
对象,传 0 可获取混音后的可视化数据,传特定播放器或AudioTrack
所使用的 audio session 的 ID,可获取它们所播放音频的可视化数据 - 调
setCaptureSize
方法设置每次获取的数据大小,调setDataCaptureListener
方法设置数据回调并指定获取数据频率(即回调频率)和数据类型(波形或 FFT) - 调
setEnabled
方法开始获取数据,不再需要时调release
方法释放资源
更详细的 api 信息可查看官方文档。
系统 Visualizer
输出的数据大小正比于音量,当音量为 0 时,输出也为 0,可视化效果会随音量变化。
使用系统 Visualizer
存在兼容性问题,在有些机型上会导致系统音效失效,如要在所有机型上都能无副作用地展示动效,需要实现自定义 Visualizer
。