在Android上使用OpenGL-ES绘制多个垂直线图,以实现Spectrum实时分析器

时间:2013-07-11 21:42:01

标签: android opengl-es plot spectrogram

我是android开发新手,我使用基本的opengl方法,比如Ububntu上的粒子引擎或简单的旋转球体场景。我想要实现一种频谱分析仪,它可以从手机麦克风获取音频信号,STFT处理它们并在屏幕上绘制频谱结果。

我尝试使用大约22000个(确切地为21980个)正方形(每个用于1赫兹)对这个场景进行建模,根据每个频率分量的STFT分析结果,在y轴上绘制和缩放每个正方形。不幸的是,这种方法失败了,因为在Renderer对象的回调“onDrawFrame()”期间,实例化22000个正方形对象会产生很大的计算负担。

我找到了关于“glDrawArrays()”的信息,我希望这可以帮助我,但我无法理解,使用这种方法,我可以拉伸(或缩放)只是我的每一行LineArray我必须绘制到渲染器回调“onDrawFrame()”。

你们中有没有人给我一些提示,特别是你认为这种方法在OpenGL SE引擎上具有计算性能?

谢谢和问候, 利奥。

0 个答案:

没有答案