Управляйте 8-канальным объемным звуком на внешней звуковой карте USB в Java, Windows 10 - PullRequest
1 голос
/ 16 января 2020

Сводка : Как получить доступ ко всем 8 каналам объемного звучания на моей внешней звуковой карте USB Audio, когда я не могу найти их через API звука javax.sound.sampled в Java, но в базовом Windows 10 можно их использовать? Мне нужна стратегия для доступа ко всем 8 каналам из Java, даже если для этого требуются дополнительные драйверы / программное обеспечение в ОС (я пробовал Windows стоковые драйверы и C -Media драйверы.)

Более длинная версия : У меня есть внешняя звуковая карта USB Audio C -Media. Когда я использую звуковой API java для перечисления микшеров в системе (Windows 10), я вижу микшер для колонок на внешней карте, и они работают для стереозвука:

Mixer: Direct Audio Device: DirectSound Playback [Speakers (USB Sound Device)]

Когда я программно перечисляю поддерживаемые форматы SourceDataLine, я вижу варианты моно и стерео.

Однако карта поддерживает Surround 7.1, и система Windows 10 способна воспроизводить сэмплы. на все 8 каналов на карте: передний / задний / боковой / центральный / саб.

Итак, мой вопрос, как мне к ним добраться? Я посмотрел на XTAudio и Jack, но очень много времени уходит на то, чтобы выяснить, на какой вариант тратить время, чтобы получить доступ к полным 8 каналам из Java.

Также : когда Я перечисляю поддерживаемые форматы микшера на OSX Catalina. Есть поддерживаемые форматы с 8 каналами, которые прекрасно работают, но я не могу получить их на Windows 10:

PCM_SIGNED unknown sample rate, 16 bit, 8 channels, 16 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 16 bit, 8 channels, 16 bytes/frame, big-endian
PCM_SIGNED unknown sample rate, 24 bit, 8 channels, 24 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 24 bit, 8 channels, 24 bytes/frame, big-endian
...