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自体が1つの入力ポートしか処理できないことを意味しますか?
前者が真であれば、誰でもJavaでこの問題を回避する方法を知っていますか?
はい、それは、Linuxのようです/ javaの問題 – qwlice