我写了一些用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中解决这个问题吗?
答案 0 :(得分:0)
我认为,这是一个与linux / ubuntu相关的问题。我在网上发现了一些提及和/或解决这个问题的网站,其中有两个: