他们用啥类来绘制这样的音频频谱?

Posted

技术标签:

【中文标题】他们用啥类来绘制这样的音频频谱?【英文标题】:What's class they use to graph audio spectrum like this?他们用什么类来绘制这样的音频频谱? 【发布时间】:2013-03-21 14:06:09 【问题描述】:

https://lh4.ggpht.com/Z6q1y1F3B0pIzjbLiPx6AlO4B9aimrjcJObvBQb-Kz3ZNu-6F_Cr3BeXGmbvkgUMZA

https://lh6.ggpht.com/ZTm9aLqj-Faaa0G5bqafudhkEPHTSQ3QhzqJc7uQFPdBGphpx7QXpxDt-BHq9sAMhus

我认为他们在 android.graphics.Canvas 中使用类,但不确定。现在我想像图片一样绘制音频频谱? 有人知道他们用什么类来绘制这样的音频频谱??? 非常感谢!

【问题讨论】:

我认为他们花了一些时间编写自己的 UI 类 我不这么认为。我可以使用方法 drawBitmap 来绘制频谱图吗?位图和曲线有什么区别? 您需要从特定来源(来自互联网或文件系统)绘制位图还是需要绘制每一行? 我需要像这样画每一条线dropbox.com/s/9bmv2xenpp53bww/screenshot-1363876075257.png 我认为你需要的一切都在 android.graphic 中 【参考方案1】:

命名空间 android.Graphics 提供基础对象来构建您自己的图形。您需要绘制背景、线条、文本并尝试获得您想要的东西。

Canva 对象有几个方法:

http://developer.android.com/reference/android/graphics/Canvas.html

例如,您可以使用以下方法绘制线条:

canvas.drawLine(float startX, float startY, float stopX, float stopY, Paint paint)。

Paint 对象用于具有特定的线条颜色/宽度...

【讨论】:

我明白你的意思,但我只问那些图表上的曲线。我知道建立背景,线条,文字,但关于光谱曲线?我可以用什么类来做到这一点? 哦,对不起。线条没问题,只需建立一个 pathcanvas.drawPath(...) 这叫平滑线?你确定吗?我以前看过但不确定:( 为了更平滑的曲线,您可以使用贝塞尔线。我编写了自己的方法: void drawBeizer(Canvas canvas, Point[] points) 有点复杂... 在哪里可以找到 drawBeizer 类?在developer.android.com/reference/android/graphics/Canvas.html上找不到

以上是关于他们用啥类来绘制这样的音频频谱?的主要内容,如果未能解决你的问题,请参考以下文章

绘制音频波形和频谱图重叠

H5录音音频可视化-实时波形频谱绘制频率直方图

在 Java 中使用 FFT 算法进行音频频谱分析

如何使用 python 获得像 audacity 这样的音频频谱?

人工智能下的音频还能这样玩!!!!

两个音频文件的频谱图(加在一起)