我编写了一些代码来捕获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中解决这个问题呢?
发布于 2010-12-20 13:24:30
我认为,这是一个与linux/ubuntu相关的问题。我在网上找到了几个提到和/或解决这个问题的网站,这里有两个:
https://stackoverflow.com/questions/4358656
复制相似问题