[英]How to capture sound from microphone with java sound API?
The tutorial http://download.oracle.com/javase/tutorial/sound/capturing.html does not cover how to select microphone.
我正在使用以下代碼枚舉混音器
System.out.println("Searching for microphones");
for(Mixer.Info mixerinfo : AudioSystem.getMixerInfo()) {
mixer = AudioSystem.getMixer(mixerinfo);
//System.out.println(mixerinfo.toString());
if( mixer.isLineSupported(Port.Info.MICROPHONE) ) {
mixers.add(mixer);
System.out.println(Integer.toString(mixers.size()) + ": " + mixerinfo.toString());
}
}
即通過麥克風輸入。 但是接下來,有一個混音器,我無法閱讀。
如果我使用mixer.getTargetLineInfo()
,我會收到一個Info
的數組,當傳遞給mixer.getLine
時會返回一個 object 類型的com.sun.media.sound.PortMixer$PortMixerPort
,這是沒有記錄的。
如果我使用mixer.getTargetLines()
我得到一個空數組。
如果我創建自己的DataLine.Info
並將其傳遞給混音器的getLine
,我會得到不受支持的異常。
那么該怎么辦?
在沿AudioPlotPanel或更簡單的RMS 音量線的組件中提供每條聲音線的可視化渲染。 用戶不應該花費太長時間來確定他們正在通過哪個聲線。 ;)
我正在嘗試做同樣的事情。 我還沒有找到一個好的解決方案,但我可以告訴你這行不通,因為你正試圖從端口混合器中獲取數據線。 如果我弄清楚了,我一定會告訴你的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.