我正在发现vlcj并尝试使用方法和教程。我正在寻找“声压级”(就像在VUMeters中一样)。在AudioTrackInfo中,我找到了一个名为“Level”的有趣方法。但它返回0.为什么?这个级别是否是我正在寻找的“声压”?如果没有,如何获得该值?
以下是我用于试用的简单(和脏)代码:
datetime.datetime.utcnow() + timedelta(minutes=60)
感谢您的所有答案。问候。
答案 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