Java Audio DataLine.getLevel始终返回0

时间:2012-02-02 00:18:19

标签: java audio

我正在尝试获取音频数据行的音量,方法getLevel()返回0.0

API文档在http://docs.oracle.com/javase/6/docs/api/javax/sound/sampled/DataLine.html#getLevel()

如果有人能放弃任何光线,我们将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

我曾经有过类似的问题并且环顾四周找不到好的解决方案 - 它似乎在某些平台上运行但不可靠。

我从来没有弄明白为什么,但我的解决方法是从数据线读取字节,然后通过RMS(均方根)计算最后一个字节的水平,比如100ms(取决于你希望更新间隔是什么。)这是一个简单的代码,但很好地完成了工作。