推荐一款简约酷炫的 Android 可视化库

项目地址(https://github.com/bogerchan/Nier-Visualizer)

1. Nier Visualizer

Nier Visualizer 是一款纯 Kotlin 编写的轻量高效的 Android 可视化库。采用独立渲染线程,兼容绝大部分设备。适用于音频可视化的应用场景,如音乐播放器、录音应用、动态壁纸等。

目前已经有6种独立的可视化效果,更多效果开发中,欢迎 start 关注。

2. 效果图(不断更新中)

推荐一款简约酷炫的 Android 可视化库_第1张图片
ColumnarType1Renderer
推荐一款简约酷炫的 Android 可视化库_第2张图片
ColumnarType2Renderer
推荐一款简约酷炫的 Android 可视化库_第3张图片
ColumnarType3Renderer
ColumnarType1Renderer ColumnarType2Renderer ColumnarType3Renderer
推荐一款简约酷炫的 Android 可视化库_第4张图片
LineRenderer
推荐一款简约酷炫的 Android 可视化库_第5张图片
CircleBarRenderer
推荐一款简约酷炫的 Android 可视化库_第6张图片
CircleRenderer
LineRenderer CircleBarRenderer CircleRenderer
推荐一款简约酷炫的 Android 可视化库_第7张图片
复合效果1
推荐一款简约酷炫的 Android 可视化库_第8张图片
复合效果2
star 关注后续更新...
复合效果1 复合效果2 开发中...

3. 如何接入

3.1 依赖方式

  1. 在项目根目录的 build.gradle 的 repositories 末尾加上该仓库:
allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
  1. 添加下列依赖:
dependencies {
        compile 'com.github.bogerchan:Nier-Visualizer:v0.0.1'
    }

3.2 项目实践

项目的 demo 模块可供接入参考。

3.3 Kotlin 接入

3.3.1 初始化框架

val visualizerManager = NierVisualizerManager()

// 传入 audioSession, 0 为 output mix
visualizerManager.init(0)

3.3.2 销毁框架实例,释放资源

visualizerManager.release()

3.3.3 启动渲染

visualizerManager.start(surfaceView, arrayOf(ColumnarType1Renderer()))

3.3.4 停止渲染

visualizerManager.stop()

3.4 Java 接入

3.4.1 初始化框架

NierVisualizerManager visualizerManager = new NierVisualizerManager();

// need a param of audioSession, 0 is output mix
visualizerManager.init(0);

3.4.2 销毁框架实例,释放资源

visualizerManager.release();

3.4.3 启动渲染

visualizerManager.start(surfaceView, new IRenderer[]{new LineRenderer(true)});

3.4.4 停止渲染

visualizerManager.stop();

4. 后续计划

  • 类似 Siri 的可视化效果,构思中...
  • 为 DJ 音乐定制的可视化效果库
  • 如果你有兴趣,欢迎 Fork 一起搞

5. 致谢

部分效果参考 android-visualizer,感谢 felixpalmer !

6. 开放协议

Copyright 2017 Boger Chan

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

你可能感兴趣的:(推荐一款简约酷炫的 Android 可视化库)