1+ [ ![ ] ( https://jitpack.io/v/stefanJi/Android-Audio-Waveform-Generator.svg )] ( https://jitpack.io/#stefanJi/Android-Audio-Waveform-Generator )
2+
3+ ![ ] ( https://github.com/stefanJi/Android-Audio-Waveform-Generator/blob/master/images/final.png )
4+
5+ # Usage
6+
7+ ## Add the dependency
8+
9+ ```
10+ implementation 'com.github.stefanJi:Android-Audio-Waveform-Generator:Tag'
11+ ```
12+
13+ ## Code
14+
15+ ``` kotlin
16+ val decoder = AudioWaveformGenerator (file.absolutePath, 100 )
17+ decoder.startDecode()
18+ val samples = decoder.getSampleData()
19+ ```
20+
21+ See: ` demo/src/main/java/x/stefanji/audiovisulizer/MainActivity.kt `
22+
23+ ## Support
24+
25+ [ MediaCodec supported audio formats] ( https://developer.android.com/guide/topics/media/media-formats#audio-codecs ) .
26+
27+ ---
28+
129# 背景
230
331| 期待效果| 初步效果|
432| :---:| :---:|
5- | ![ ] ( images/audio_waveform.png ) | ![ ] ( images/final.png ) |
33+ | ![ ] ( https://github.com/stefanJi/Android-Audio-Waveform-Generator/blob/master/ images/audio_waveform.png) | ![ ] ( https://github.com/stefanJi/Android-Audio-Waveform-Generator/blob/master/ images/final.png) |
634
735首先这样的波形图,是根据音频在采样点的采样值来绘制的。像 mp3 m4a 的音乐格式,都会经历音频采样、编码的过程。采样的结果是 PCM,对 PCM 利用不同的编码算法进行编码就产生了不同格式的音乐文件。
836
@@ -215,7 +243,7 @@ override fun onOutputBufferAvailable(
215243
216244可以在解码完成之后,将解码之后的数据存储为 Wav 格式,然后利用如下脚本绘制波形图,测试解码是否正常。
217245
218- ! [](images/ python_output.png)
246+ ! [](https : // github.com/stefanJi/Android-Audio-Waveform-Generator/blob/master/ images/python_output.png)
219247
220248```python
221249import matplotlib.pyplot as pl
@@ -268,7 +296,7 @@ if __name__ == "__main__":
268296
269297|计算方法|结果|
270298|: -- - : |: -- - : |
271- |! [](images/ rms.png)|! [](images/ rms_value.jpg)|
299+ |! [](https : // github.com/stefanJi/Android-Audio-Waveform-Generator/blob/master/ images/rms.png)||
272300
273301每一个绘制点的数值范围为 [- RMS , RMS ]。如下就是我实现的 RMS ,我这是一个动态计算 RMS 的方法。
274302
@@ -294,7 +322,7 @@ private fun calRMS(left: Float) {
294322
295323|最终效果|专业软件|
296324|: -- - : |: -- - : |
297- |! [](images/ final.png)|! [](images/ audio_pro.png)|
325+ |! [](https : // github.com/stefanJi/Android-Audio-Waveform-Generator/blob/master/ images/final.png)||
298326
299327可以看到,和专业的音乐编辑软件的显示差不多。
300328
0 commit comments