繁体   English   中英

如何在Java中找到已安装的支持耳机端口的混音器

[英]How to find installed Mixer which supports headphone Port in Java

我试图学习Java Sound API,所以我写了一个简短的程序来查找笔记本电脑上安装的所有Mixer并检查它们是否具有耳机Port 这是我的代码

import javax.sound.sampled.*;

public class FindHeadphonePort {
    public static void main(String[] args) throws LineUnavailableException {
        Mixer.Info[] info = AudioSystem.getMixerInfo();
        Line.Info[] mixerTargetLineInfos;
        Port headphonePort;
        for(int i = 0; i < info.length; i++) {
            System.out.println(i + " " + info[i].getName() + "\n");
            mixerTargetLineInfos = AudioSystem.getMixer(info[i]).getTargetLineInfo();

            // SEE IF MIXER HAS A HEADPHONE PORT.
            if(AudioSystem.getMixer(info[i]).isLineSupported(Port.Info.HEADPHONE)) {
                System.out.println(i + " " + info[i].getName() + " has a headphone port");
                headphonePort = (Port)AudioSystem.getMixer(info[i]).getLine(Port.Info.HEADPHONE);
            }
        }
    }
}  

我的输出是这样的:

0主要声音驱动器

1个扬声器(Realtek高清晰度音频)

2主要声音捕获驱动程序

3麦克风(Realtek High Defini

4端口扬声器(Realtek High Definiti

5端口麦克风(Realtek High Defini

这意味着我没有安装支持耳机PortMixer ,尽管我在撰写本文时正在通过耳机听音乐。 有人可以告诉我我在做什么错吗?

谢谢!

这意味着耳机不是单独的输出-通常不是,除非您拥有专业级的音频设备,而耳机是单独的输出通道,否则通常不是。 耳机通常只是插入扬声器输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM