2010-06-23 171 views
3

是否有可能在Java中捕获计算机的声音输出?Java:捕获声音输出

捕捉麦克风是可能的,但这不是我所需要的,我需要捕捉计算机正在播放的部分声音,我无法弄清楚。

感谢

回答

1

我认为这是可能的,只有你有虚拟audiodevice(用“您听到的声音”功能,Virtual Audio Cable,虚拟音频流或类似的本地声卡驱动程序)。之后,您只需找到与虚拟audiodevice对应的调音台并创建TargetDataLine即可。

您可以通过修改下面的代码示例做:

Mixer.Info[] mixersInfo = AudioSystem.getMixerInfo(); 

//select virtual audiodevice by vendor name, device name or version 
Mixer.Info selectedMixerInfo = mixersInfo[0]; 
TargetDataLine recordLine = AudioSystem.getTargetDataLine(aAudioFormat, selectedMixerInfo);