An open API service indexing awesome lists of open source software.

https://github.com/pikachu0621/visualization

音频可视化
https://github.com/pikachu0621/visualization

android audio java kotlin visualization

Last synced: 12 months ago
JSON representation

音频可视化

Awesome Lists containing this project

README

          

音频可视化
===
提供比较流畅的音频可视化组件,同时可以自定义频谱图

环形样式 AnnularAdapter
----
![](assets/au.png)

直方样式 StraightSideAdapter
----
![](assets/se.png)

演示
---
[安装APP](assets/release/app-release.apk)

用法
---
>1. 权限
```xml

```

>2. 布局引用
```xml

```

>3. 控制 当然还要播放一首音乐
```kotlin
// 设置适配器 , 绑定生命周期 (目前只画了 AnnularAdapter, StraightSideAdapter 两个样式)
audio.setAdapter(VisualizationAudioAdapter(), this)
// 启动 必须有权限(动态申请)
audio.start()
// 停止
audio.stop()
```

自定义
---
>1. 继承 VisualizationAudioAdapter 适配器, 实现以下方法
```kotlin

/**
*
* 测量View 数据
*
* @return 需要多少条数据源
*/
abstract fun onAudioViewMeasure(measureWidth: Int, measureHeight: Int, view: VisualizationAudioView): Int

/**
* 画布
*
* @param canvas 画布
* @param transform 处理后的FFT数据
*/
abstract fun drawView(canvas: Canvas, transform: FloatArray, view: VisualizationAudioView)

```

>2. 一些属性设置
```kotlin
/**
* 设置适配器 并绑定 lifecycle
*/
fun setAdapter(adapter: VisualizationAudioAdapter, context: Context? = null)

/**
* 开始
*/
fun start()

/**
* 停止
*/
fun stop()

/**
* 设置配置
*/
fun setVisualizationAudioConfig(config: VisualizationAudioViewHelper.VisualizationAudioConfig)

/**
* 获取配置
*/
fun getVisualizationAudioConfig(): VisualizationAudioViewHelper.VisualizationAudioConfig

/**
* 绑定生命周期
*/
fun bindLifecycle(lifecycle: Lifecycle)

```