Java не воспроизводит многоканальный волновой файл
Я не могу воспроизвести многоканальный волновой файл в java с помощью пакета javax.sound.sampled. Я использую внешнюю звуковую карту USB 7.1 от Logilink. Волновой файл создан мной. Если я создаю стерео трек, я могу воспроизвести файл. Если я использую 6-канальную дорожку, я получаю следующее сообщение об ошибке:
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 48000.0 Hz, 16 bit, 6 channels, 12 bytes/frame, little-endian not supported.
Я проверил, поддерживается ли строка, и это с помощью этого кода
AudioFormat format = new AudioFormat(48000, 16, 6, true, false);
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
if (info.isFormatSupported(format)) {
// is supported
}
Я играю волновой файл следующим образом:
AudioListener listener = new AudioListener();
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(clipFile);
Clip clip = null;
clip = AudioSystem.getClip();
clip.addLineListener(listener);
clip.open(audioInputStream);
clip.start();
Есть идеи, что не так?