在vlcj中,AudioTrackInfo获得的“级别”是什么?

时间:2016-01-15 15:13:03

标签: java vlcj

我正在发现vlcj并尝试使用方法和教程。我正在寻找“声压级”(就像在VUMeters中一样)。在AudioTrackInfo中,我找到了一个名为“Level”的有趣方法。但它返回0.为什么?这个级别是否是我正在寻找的“声压”?如果没有,如何获得该值?

以下是我用于试用的简单(和脏)代码:

datetime.datetime.utcnow() + timedelta(minutes=60)

感谢您的所有答案。问候。

1 个答案:

答案 0 :(得分:1)

我不确切知道那个“级别”属性是什么,但它类似于用于准备轨道的编码器级别。

无论是什么,它都不是你想要的。

要获得所需的“压力”数据,您需要使用“直接”音频播放器 - 这样您就可以访问本机音频样本缓冲区,然后可以对其进行频率分析。

缺点是如果您捕获这样的音频样本数据,那么VLC将实际播放音频 - 您必须自己播放。

对于vlcj,这基本上意味着使用Java API播放它。例如,JavaSound API可以播放它。 vlcj测试源中有一个示例显示了这一点。在这个答案中有太多的代码可以重现它,你可以在这里找到它:

https://github.com/caprica/vlcj/tree/master/src/test/java/uk/co/caprica/cj/test/directaudio