visualizer = new Visualizer(mediaPlayer.getAudioSessionId());

2、设置采样值

visualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);

通过Visualizer.getCaptureSizeRange()这一底层实现的方法来返回一个采样值的范围数组,0为最小值128,1为最大值1024!采样值都为2的n次幂!

3、设置监听器

setDataCaptureListener(OnDataCaptureListener listener, rate,iswave,isfft )

先说后面三个参数:rate采样的频率,下边通过方法Visualizer.getMaxCaptureRate()返回最大的采样频率,单位为milliHertz毫赫兹,iswave是波形信号,isfft是频域信号。 第一个参数OnDataCaptureListener接口,这里可以一个它的匿名内部类,然后它有两个回调方法:

onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate)

onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate)

这两个回调对应着上边的两个参数iswave和isfft!如果iswave为true,isfft为false则会回调onWaveFormDataCapture方法,如果iswave为false,isfft为true则会回调onFftDataCapture方法。

音乐可视化实现

未完待续....

github.com/hankinghu/A…

给大家送上我成功跳槽复习中所整理的资料,由于文章篇幅有限,所以只是把题目列出来了,我自己手头上整理的资料均和上面的答案可免费分享,需要这些资料和答案的朋友, 可以 点击这里免费领取

用户59300244669

粉丝