Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaSound API以非独占模式捕获音频_Java_Audio_Capture_Javasound - Fatal编程技术网

使用JavaSound API以非独占模式捕获音频

使用JavaSound API以非独占模式捕获音频,java,audio,capture,javasound,Java,Audio,Capture,Javasound,我编写了一些代码,用JavaSound API捕捉声音。 它是这样开始的: DataLine.Info info = new DataLine.Info(TargetDataLine.class, audioFormat); TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info); line.open(); 但是,一旦调用getLine(),其他应

我编写了一些代码,用JavaSound API捕捉声音。
它是这样开始的:

        DataLine.Info info = new DataLine.Info(TargetDataLine.class,
            audioFormat);

        TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info);
        line.open();
但是,一旦调用getLine(),其他应用程序就无法再开始捕获声音

另一方面,如果其他一些声音捕获应用程序正在运行,getLine()将失败

一般来说,我可以在Skype会话期间使用录音机,这意味着捕获声音不必是独占的

我希望我的申请也是非排他性的。我不想限制用户如何使用它

在报告中写道:

通常,一次只能打开一个输入端口,但也可以使用音频输入混音器来混合来自多个端口的音频

这是否意味着JavaSound只能以独占模式捕获,或者JavaSound本身只能处理一个输入端口


如果前者是真的,有人知道如何用Java解决这个问题吗?

我认为,这是一个与linux/ubuntu相关的问题。我在网上找到了一些提到和/或解决这个问题的网站,以下是其中两个: