項目地址(https://github.com/bogerchan/Nier-Visualizer)
1. Nier Visualizer
Nier Visualizer 是一款純 Kotlin 編寫的輕量高效的 Android 可視化庫铺坞。采用獨立渲染線程,兼容絕大部分設(shè)備擒滑。適用于音頻可視化的應(yīng)用場景丐一,如音樂播放器、錄音應(yīng)用凝颇、動態(tài)壁紙等。
目前已經(jīng)有6種獨立的可視化效果瘪弓,更多效果開發(fā)中,歡迎
start
關(guān)注呛占。
2. 效果圖(不斷更新中)
ColumnarType1Renderer | ColumnarType2Renderer | ColumnarType3Renderer |
LineRenderer | CircleBarRenderer | CircleRenderer |
star 關(guān)注后續(xù)更新... | ||
復(fù)合效果1 | 復(fù)合效果2 | 開發(fā)中... |
3. 如何接入
3.1 依賴方式
- 在項目根目錄的 build.gradle 的 repositories 末尾加上該倉庫:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- 添加下列依賴:
dependencies {
compile 'com.github.bogerchan:Nier-Visualizer:v0.0.1'
}
3.2 項目實踐
項目的 demo
模塊可供接入?yún)⒖肌?/p>
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. 后續(xù)計劃
- 類似 Siri 的可視化效果柠并,構(gòu)思中...
- 為 DJ 音樂定制的可視化效果庫
- 如果你有興趣,歡迎 Fork 一起搞
5. 致謝
部分效果參考 android-visualizer,感謝 felixpalmer 缰雇!
6. 開放協(xié)議
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.