我正在开发一个 Android 应用程序,我需要在其中创建一个频谱图(它是声音中频率频谱随时间变化的视觉表示)。我有一个音频文件并使用 FFT 在频域中获取信号,现在我需要绘制频谱图。我需要一个 API 来帮助我绘制这个图表,看起来像 Matlab 中的类似图表。有什么建议吗?
问问题
3670 次
2 回答
2
<View>
在您的布局中声明一个适当大小并适合您想要显示的内容的空元素。给它一个 id myview
。
实现您自己的从 View 和 override 派生的类onDraw(Canvas canvas)
。我们将这个类命名为 MyView。向这个类添加任何方法,以便它可以将数据传递给它(即 FFT 的结果)。
在 Activity 的 onCreate 方法中,调用findViewById(R.id.myview).setContentView(new MyView());
实现 MyView.onDraw() 以便在画布上绘制数据可视化。invalidate
如果数据更改,请调用视图类上的方法以强制它重绘。
至于画什么,就看你自己了。我想象每个频段都有一堆矩形或线条。一种颜色代表“真实”,另一种颜色代表“想象”。
于 2014-08-28T08:06:29.830 回答
1
于 2015-07-17T19:45:32.317 回答