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

如何在Java中找到支持耳机端口的已安装混音器,java,audio,ports,Java,Audio,Ports,我正在尝试学习Java Sound API,因此我编写了一个简短的程序来查找笔记本电脑上安装的所有混音器,并检查它们是否有耳机端口。这是我的密码 import javax.sound.sampled.*; public class FindHeadphonePort { public static void main(String[] args) throws LineUnavailableException { Mixer.Info[] info = AudioSys

我正在尝试学习Java Sound API,因此我编写了一个简短的程序来查找笔记本电脑上安装的所有混音器,并检查它们是否有耳机端口。这是我的密码

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);
            }
        }
    }
}  
import javax.sound.sampled.*;
公共类FindHeadphonePort{
公共静态void main(字符串[]args)引发LineUnavailableException{
Mixer.Info[]Info=AudioSystem.getMixerInfo();
Line.Info[]mixerTargetLineInfos;
端口耳机端口;
对于(int i=0;i
我的输出是:

0主声音驱动器

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

2主要声音捕获驱动程序

3个麦克风(Realtek高清)

4端口扬声器(Realtek High Definiti

5端口麦克风(Realtek高清)

这意味着我没有安装支持耳机
端口的
混音器
s,尽管我写这篇文章时正在通过耳机听音乐。有人能解释一下我做错了什么吗


谢谢!

这意味着耳机不是一个独立的输出——通常不是,除非你有专业级的音频设备,耳机是独立的输出通道。耳机通常只插入扬声器输出。

这就是我的想法。那是不是意味着我不能独立播放我的扬声器和耳机怎么办?没有第二张声卡就不行。