android 频谱图如何实现音频频谱从右到左的滚动?

我自己找了一个在音乐播放器里实现的代码,有句话看不懂

这里的mplayerinstance是怎么初始化的,我在锁屏界面调用的是RemoteController,请问我要怎么用以上的代码,怎么获取这个mplayerinstance对象呢,在线等,求大牛指导

}

最近由于需要实现音乐频谱,所以今天就为大家普及一下。

这里实现频谱,只有使用Android 2.3系统。这个是前提,因为要用到Visualizer 类

这里还需要大家有点数字信号处理的知识,尤其是FFT的知识

这个频谱实现我是仿照Android Api Demo 里的一个实现的。


 
//这是设置 抓取当前播放音乐的内容长度,一般设为128 256,。。。。1024等等, 这里我设置为了128,也就是之后将会获得128个数据
//这里为visualizer注册监听器 ,这样 有内容就会自动更新 并触发 下面的两个函数中的一个
// 这三个参数,其中第一个不用说了 监听器,第二个是数据更新速率这过分单位是 mHz ,我这里设置的是512mHz,
//第三个和第四个参数是获得waveform 还是fft 数据,waveform 就是音乐在时域内的表现形式,而fft 则是音乐在频域内的数据
//这里的fft 数据,其实包含着 FFT运算后的实部 和虚部
//这个fft数据格式 如图一
我们要想获得频谱就必须再来一步计算
将实步和虚部平凡取模 ,其值 就是频谱值了。
 然后 将数据 传给绘图的 ,就可以画出来了。
 // 这里添加获得数据的处理 byte[] 数组 更新出去,并画图。这里可以把这个
 



我只写出我更改的 onDraw(){}部分,能让其画出 柱状图的谱线


  

  

  

  

}

我要回帖

更多关于 android 频谱图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信