Java获取麦克风录制的AudioFormat类型
今天我在用麦克风和录音。所以我找到了“教程”(或者实际上是OracleJavadoc),我用麦克风的线路支持得到了混音器。现在我需要从混音器中得到线路 除了音频格式,一切都好。如何从混音器中获取线路?这只是Mixer.getLine(DataLine.Info)。如何获取DataLine.Info?哦,这很难。你们需要类和音频格式。类很简单,但如何获得音频格式呢?我确实尝试创建新实例,但出现错误。我的代码:Java获取麦克风录制的AudioFormat类型,java,microphone,recording,Java,Microphone,Recording,今天我在用麦克风和录音。所以我找到了“教程”(或者实际上是OracleJavadoc),我用麦克风的线路支持得到了混音器。现在我需要从混音器中得到线路 除了音频格式,一切都好。如何从混音器中获取线路?这只是Mixer.getLine(DataLine.Info)。如何获取DataLine.Info?哦,这很难。你们需要类和音频格式。类很简单,但如何获得音频格式呢?我确实尝试创建新实例,但出现错误。我的代码: //Sorting Mixers into Mic,and speaker list.
//Sorting Mixers into Mic,and speaker list.
Info[] MixerList = AudioSystem.getMixerInfo();
for (int i = 0;i<MixerList.length;i++) {
Mixer m = AudioSystem.getMixer(MixerList[i]);
if (m.isLineSupported(Port.Info.MICROPHONE)) MicList.add(m); else ColList.add(m);
}
//Trying to get Line from mixer...And open TDL for recording.
try {
DataLine.Info DLI = new DataLine.Info(TargetDataLine.class, getAudioFormat());
Mixer m = (Mixer)MicList.toArray()[0];
Line s = m.getLine(DLI);
MicRec = (TargetDataLine)s;
MicRec.open();
} catch (LineUnavailableException ex) {}
苏,如何获取音频格式?还是我的“排序代码”有误
edit1:对“排序代码”进行了一些“有趣的”操作。现在我正在编写m.toString(),是mic还是no。Soo,这确实是个好主意,因为我现在知道出了什么问题
com.sun.media.sound.DirectAudioDevice@56b65e2b
Is someting else!
com.sun.media.sound.PortMixer@5ee08586
Is someting else!
com.sun.media.sound.PortMixer@4081bfd8
Is mic
edit2:谷歌搜索了一下,发现了什么是好的。带端口话筒的isLineSupporter是指启用了什么话筒,而不是混音器是什么话筒
com.sun.media.sound.DirectAudioDevice@56b65e2b
Is someting else!
com.sun.media.sound.PortMixer@5ee08586
Is someting else!
com.sun.media.sound.PortMixer@4081bfd8
Is mic