0

Javasound 如何处理多个麦克风?是否可以选择多个麦克风之一?如何确定正在使用哪个麦克风?Java虚拟机甚至可以处理多个麦克风的输入吗?最后,这种方法是跨操作系统标准化还是操作系统会影响 JVM 听到的内容。这是我目前用来从麦克风生成 TargetDataLine 的代码。

DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, getAudioFormat());
setTargetDataLine((TargetDataLine) AudioSystem.getLine(dataLineInfo));
4

1 回答 1

2

我相信分离各种麦克风输入取决于这些麦克风是否通过自己的线路或端口暴露给 Java。

名为“访问音频系统资源”的教程部分将为您提供识别 Java 能够“看到”什么的方法。这是概述介绍之后的第一个主要部分。如果您列出每个信息,希望您能够识别每条麦克风线(假设您的声卡和操作系统配置为允许这样做)。

同意,音频教程是最难的教程之一!部分原因是音频很困难,它必须运行的各种操作系统以及干预的硬件和软件使音频变得复杂。不同的声卡和操作系统组合可以以不同的方式工作。在某个阶段,他们必须向 Java 公开线路或端口。我不知道有任何多路复用系统(两个或多个麦克风以某种方式共享一条线路或端口)。我也不清楚您需要关注的是线路还是端口。

于 2013-11-10T22:39:48.237 回答