Android使用音频信息绘制动态波纹

2019-12-10 19:08:27刘景俊
易采站长站为您分析Android使用音频信息绘制动态波纹 的相关资料,需要的朋友可以参考下  

在一些音乐类应用中, 经常会展示随着节奏上下起伏的波纹信息, 这些波纹形象地传达了声音信息, 可以提升用户体验, 那么是如何实现的呢? 可以使用Visualizer类获取当前播放的声音信息, 并绘制在画布上, 使用波纹展示即可. 我来讲解一下使用方法.

Android使用音频信息绘制动态波纹

主要

(1) Visualizer类提取波纹信息的方式. 
(2) 应用动态权限管理的方法. 
(3) 分离自定义视图的展示和逻辑.

1. 基础准备

Android 6.0引入动态权限管理, 在这个项目中, 会使用系统的音频信息, 因此把权限管理引入这个项目, 参考. Gradle配置引入了Lambda表达式, 参考.

页面布局, 使用自定义的波纹视图控件.

<!--波纹视图-->
<me.chunyu.spike.wcl_visualizer_demo.visualizers.WaveformView
android:id="@+id/main_wv_waveform"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

效果

Android使用音频信息绘制动态波纹

 

2. 首页逻辑

添加动态权限管理, 在启动页面时, 获取应用所需的音频权限. 
RendererFactory工厂类创建波纹的绘制类SimpleWaveformRender. 
startVisualiser方法获取当前播放音乐的音频信息.