Java 在JVM之外获取音频级别
我需要检查在Windows上运行的任何应用程序的音频级别,当音频达到某一点时,执行一些代码。我的问题是,做这样的事情:Java 在JVM之外获取音频级别,java,audio,Java,Audio,我需要检查在Windows上运行的任何应用程序的音频级别,当音频达到某一点时,执行一些代码。我的问题是,做这样的事情: Mixer.Info[] mixers = AudioSystem.getMixerInfo(); for (Mixer.Info mixerInfo : mixers) { Mixer mixer = AudioSystem.getMixer(mixerInfo); try { mixer.open(); Line.Info[]
Mixer.Info[] mixers = AudioSystem.getMixerInfo();
for (Mixer.Info mixerInfo : mixers) {
Mixer mixer = AudioSystem.getMixer(mixerInfo);
try {
mixer.open();
Line.Info[] lines = mixer.getSourceLineInfo();
for (Line.Info linfo : lines)
System.out.println(((SourceDataLine) AudioSystem.getLine(linfo)).getLevel());
}
catch (LineUnavailableException e) {
e.printStackTrace();
}
}
如果我没有弄错的话,它将无法工作,因为它无法检查在JVM之外播放的音频。这是正确的吗
如果正确,那么我可以使用JNA映射Windows dll并使用其函数检查音频级别吗
你知道我如何做到这一点吗?因此,如果其他人正在寻找解决方案,我找到了一个实现。归功于github的所有者