This question already has answers here:
Microphone level in Java

(2个答案)


7年前关闭。




我知道已经有一些类似的问题,但始终只是答案的一部分。

我只想获取麦克风“记录”的当前分贝。
我知道我已经打开了TargetDataLine,但是read方法仅返回令人困惑的字节:/

你能告诉我我如何读分贝吗?

最佳答案

如果您有兴趣测量例如dB SPL,那么这是不可能的,至少在您可能要说的意义上而言。这是有关使用计算机麦克测量绝对声音强度的几个答案之一:How can I calculate audio dB level?

如果您对字节的含义感到困惑并且对例如测量音量/声音强度/随时间变化的东西感兴趣,那是可行的,但这是另一个问题。在SO上,关于如何解释来自javasound和其他音频api的原始数据有很多问题,但是更好的资源是教程。一个很好的起点是java sound resources上的一些示例和教程。您可能也对我的slides from a talk on the basics of computer audio感兴趣。

09-28 12:31