我編寫了一些代碼來捕獲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只能以獨佔模式捕獲,或者JavaSound本身只能處理一個輸入端口?
如果前者是真的,是否有人知道如何在Java中解決這個問題?
是的,現在看來,這是一個Linux/java問題 – qwlice 2010-12-21 14:26:52