【发布时间】:2012-09-18 19:33:20
【问题描述】:
我一直在尝试修改找到at the bottom of this page 的一些代码,以便使用Java 劫持系统音频。这是我在 captureAudio() 中修改的部分:
Mixer mixer = AudioSystem.getMixer(mixerInfo[0]); // "Java Sound Audio Engine"
final TargetDataLine line = (TargetDataLine) mixer.getLine(info);
现在当我运行这段代码时,它会抛出这个:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian
我已尝试更改我的格式以适应所需的格式,但异常没有发生并且没有记录任何内容。我做错了什么?
【问题讨论】:
-
你不能在 java 中“劫持”系统音频,比如 Audio Hijack Pro。
-
因为Java是在虚拟机中执行的?
-
有点。说“Java 平台不支持该功能”之类的话会更正确。
标签: java audio audio-recording