Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java获取麦克风录制的AudioFormat类型_Java_Microphone_Recording - Fatal编程技术网

Java获取麦克风录制的AudioFormat类型

Java获取麦克风录制的AudioFormat类型,java,microphone,recording,Java,Microphone,Recording,今天我在用麦克风和录音。所以我找到了“教程”(或者实际上是OracleJavadoc),我用麦克风的线路支持得到了混音器。现在我需要从混音器中得到线路 除了音频格式,一切都好。如何从混音器中获取线路?这只是Mixer.getLine(DataLine.Info)。如何获取DataLine.Info?哦,这很难。你们需要类和音频格式。类很简单,但如何获得音频格式呢?我确实尝试创建新实例,但出现错误。我的代码: //Sorting Mixers into Mic,and speaker list.

今天我在用麦克风和录音。所以我找到了“教程”(或者实际上是OracleJavadoc),我用麦克风的线路支持得到了混音器。现在我需要从混音器中得到线路

除了音频格式,一切都好。如何从混音器中获取线路?这只是Mixer.getLine(DataLine.Info)。如何获取DataLine.Info?哦,这很难。你们需要类和音频格式。类很简单,但如何获得音频格式呢?我确实尝试创建新实例,但出现错误。我的代码:

//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