2010-12-05 21 views
0

我編寫了一些代碼來捕獲JavaSound API的聲音。
它開始是這樣的:使用JavaSound API以非獨佔模式捕獲音頻

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

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

然而,一旦函數getline()被調用,其他應用程序無法啓動捕獲聲音的任何-更多。

相反,getLine()將失敗,如果其他聲音捕獲應用程序正在運行。

通常我可以在Skype會話期間使用錄音機,這意味着捕獲聲音不必是排他性的。

我想我的應用程序是非排他性的。我不想限制用戶可以用它做什麼。

JavaSound API tutorial記載:

通常,僅一個輸入端口可以同時打開,但混合音頻從多個端口的音頻輸入混頻器也是可能的。

這是否意味着JavaSound只能以獨佔模式捕獲,或者JavaSound本身只能處理一個輸入端口?

如果前者是真的,是否有人知道如何在Java中解決這個問題?

回答