https://github.com/pikachu0621/visualization
音频可视化
https://github.com/pikachu0621/visualization
android audio java kotlin visualization
Last synced: 12 months ago
JSON representation
音频可视化
- Host: GitHub
- URL: https://github.com/pikachu0621/visualization
- Owner: pikachu0621
- Created: 2022-03-17T08:29:51.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-05T17:17:26.000Z (over 2 years ago)
- Last Synced: 2023-11-05T18:25:27.869Z (over 2 years ago)
- Topics: android, audio, java, kotlin, visualization
- Language: Kotlin
- Homepage:
- Size: 67.2 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
音频可视化
===
提供比较流畅的音频可视化组件,同时可以自定义频谱图
环形样式 AnnularAdapter
----

直方样式 StraightSideAdapter
----

演示
---
[安装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)
```