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方法。
音乐可视化实现
未完待续....
给大家送上我成功跳槽复习中所整理的资料,由于文章篇幅有限,所以只是把题目列出来了,我自己手头上整理的资料均和上面的答案可免费分享,需要这些资料和答案的朋友, 可以 点击这里免费领取 。
用户59300244669