我以前从未使用过 OpenAL,并且一直在查看一些示例代码。但是,在我开始在我的程序中测试代码之前,我想知道是否有办法选择特定的录音设备进行输入(可能通过带有不同麦克风的组合框)。我知道在 Java Sound API 中这是不可能的,这就是我询问 AL 的原因。

最佳答案

是的。

获取设备列表。提示用户选择一个。用 alcCaptureOpenDevice 设置它。

ALC11 API

就像是:

String[] capDevices = ALC11.alcGetString(null, ALC11.ALC_CAPTURE_DEVICE_SPECIFIER).split("\0");
for (int i = 0; i < capDevices.length; i++) {
    System.out.println("Capture device "+ i + ": " + capDevices[i]);
}
//Selection code goes here
String chosenDevice = ...;

ALCdevice device = ALC11.alcCaptureOpenDevice(chosenDevice, freq, format, bufferSize);

(免责声明:尚未编译/测试)

关于java - 是否可以在 OpenAL 中直接选择录制设备?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16329081/

10-12 21:31