[英]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
这意味着我没有安装支持耳机Port
的Mixer
,尽管我在撰写本文时正在通过耳机听音乐。 有人可以告诉我我在做什么错吗?
谢谢!
这意味着耳机不是单独的输出-通常不是,除非您拥有专业级的音频设备,而耳机是单独的输出通道,否则通常不是。 耳机通常只是插入扬声器输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.