Java,不支持录制音频线路

时间:2015-05-17 13:02:06

标签: java audio wav audio-recording

我的目标
我想在Java中执行以下操作:记录Java本身发出的一些声音,然后将其保存为wav文件。

我在网上搜索了很多这样的程序,我发现了一些好的程序,但我一次又一次地遇到同样的问题(可以找到当前版本here)。问题总是这样:
public class中,函数start

开头
AudioFormat format = getAudioFormat();
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
if (!AudioSystem.isLineSupported(info)) {
    System.out.println("Line not supported");
    System.exit(0);
}

,其中getAudioFormat()返回AudioFormat(16000,8,2,true,true)。如果我运行该文件,它会打印Line not supported,但为什么?

我尝试了什么:

      
  • 我在线搜索了大量不同格式,并尝试了各种格式。
  • 我已经采用了Java可以播放的现有wav文件,采用了该文件的格式,并将其用作我尝试创建的文件的格式。

更多信息:

System.out.println(AudioSystem.getTargetLineInfo(info));
System.out.println(AudioSystem.getAudioFileTypes());
System.out.println(AudioSystem.getMixerInfo());
System.out.println(AudioSystem.getSourceDataLine(format));

其中format是现有wav文件的格式,info定义为第一个代码段,打印:

[Ljavax.sound.sampled.Line$Info;@4eec7777
[Ljavax.sound.sampled.AudioFileFormat$Type;@41629346
[Ljavax.sound.sampled.Mixer$Info;@6d311334
com.sun.media.sound.DirectAudioDevice$DirectSDL@448139f0

我使用Windows 7,64位。

我想补充一点,如果有更好,完全不同的方式来实现我的目标,那也没关系。

0 个答案:

没有答案