Java:捕获声音输出

bak*_*lap 5 java audio

是否可以用Java捕获计算机的声音输出?

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

谢谢

Dmi*_*try 2

我认为只有当您有虚拟音频设备(具有“What U Hear”功能的本机声卡驱动程序、虚拟音频电缆、虚拟音频流或类似功能)时才有可能。之后,您只需找到与虚拟音频设备对应的混音器并创建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);
Run Code Online (Sandbox Code Playgroud)