如何使用Java获取系统音频设置



我实现了一个独立的小程序基础应用程序来录制语音。我能够知道麦克风是否已连接,但是如果用户设置了内置麦克风并且还与系统连接了耳机(外部),那么我的应用程序无法识别选择了哪个麦克风,并且用户开始通过耳机录制,并且无法在此 case.so 捕获语音我想通过消息通知用户请在系统中设置外部麦克风设置。因此,请帮助我如何知道系统正在使用哪个麦克风。这是检查麦克风是否附加的代码:-

public static boolean checkMicrophone()
{
    AudioFormat format=null;
            TargetDataLine tline;
    format = new AudioFormat( AudioFormat.Encoding.PCM_SIGNED, 44100.0F, 16, 2,4, 44100.0F, false);
    Mixer.Info[] allMixer = AudioSystem.getMixerInfo();
    boolean lineFound = false;
    DataLine.Info info = new DataLine.Info(TargetDataLine.class, format); 
    try{
                tline = (TargetDataLine) AudioSystem.getLine(info);
        lineFound=true;
            }catch(Exception e){
            }
    if(lineFound)
        return true;
    else
        return false;

}

试试这个文档,你会得到它.....

http://docs.oracle.com/javase/tutorial/sound/accessing.html

http://docs.oracle.com/javase/tutorial/sound/accessing.html

您可以查询 AudioSystem 以了解已安装的资源类型,然后您可以获取对它们的访问权限。例如,应用程序可能首先询问 AudioSystem 类是否存在具有特定配置的混音器,例如前面在行讨论中说明的输入或输出配置之一。然后,程序将从混频器获取数据线,依此类推。

下面获取系统上当前安装的混音器的数组

AudioSystem.getMixerInfo()

最新更新