所以我一直在研究java声音api,我可以获得输入,录制和播放声音,我可以使用坐标或罪恶来绘制图形。
我希望能够有一个实时的“示波器”,它从麦克风输入并将其转换为随时间向左滚动的波形,当发出噪音时,声音(频率?)被添加到图表的左侧,然后在没有噪音的情况下恢复正常。
如何将字节数组转换为图形?
到目前为止我有一个文件可以录制和播放声音(保存在缓冲区而不是文件中),然后将其保存为.wav并从.wav中绘制wave .png但是这不是实时反馈而且我不确定从哪里开始。
答案 0 :(得分:2)
这是一个(相对较小的)应用程序,它将播放声音并在面板上绘制一个简单的图形:
它有一些稀疏的评论来指出正在发生的事情,但它通常是直截了当的。真的最好的只是查看代码。它完成了你所提出的关于录音的大部分内容,但代码很容易适应。唯一的区别是你将从TargetDataLine而不是AudioInputStream中提取字节。
一些像窗口函数和量化这样的东西可能需要冗长的解释,但这些都包含在大量文献中。根据我的经验,虽然有大量的技术文本,但在网络上并没有很多代码示例可用于此类事情。 Java Sound Resources特别适合Java,但它有点过时了。所以我希望这可以帮助你开始。