0

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

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

        TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info);
        line.open();

但是,一旦调用getLine(),其他应用程序就不能再开始捕获声音了。

反过来,如果其他一些声音捕获应用程序正在运行,getLine()将失败。

通常我可以在 Skype 会话期间使用录音机,这意味着捕获声音不必是专有的。

我希望我的应用程序也是非排他性的。我不想限制用户可以用它做什么。

JavaSound API 教程中它写道:

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

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

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

4

1 回答 1

0

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

于 2010-12-20T13:24:30.507 回答