Воспроизведение волнового файла с использованием AudioFormat в Java - PullRequest
4 голосов
/ 02 июня 2010

Я получаю следующее исключение при запуске моего кода в операционной системе Linux. Этот код отлично работает в операционной системе Windows. Ниже приведены исключение и используемый код.

java.lang.IllegalArgumentException: нет интерфейса соответствия строк Клип, поддерживающий формат PCM_SIGNED, неизвестная частота дискретизации, 16 бит, стерео, 4 байта / кадр, поддерживается big-endian.

AudioFormat format = sourceaudio.getFormat();

format = new AudioFormat(
    AudioFormat.Encoding.PCM_SIGNED,
                format.getSampleRate(),
                format.getSampleSizeInBits() * 2,
                format.getChannels(),
                format.getFrameSize() * 2,
                format.getFrameRate(),
                true);

AudioFileFormat.Type targettype = AudioFileFormat.Type.WAVE;
AudioInputStream targetaudiostream = AudioSystem.getAudioInputStream(format, sourceaudio);

sourceaudio.close();
targetaudiostream.close();
System.out.println("55555555");

URL url = new URL("http://localhost:8084/newvideo/PCMfile.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
clip.open(ais);

System.out.println("seconds: " + (clip.getMicrosecondLength() / 1000000));

1 Ответ

0 голосов
/ 29 октября 2012

У меня такая же ошибка на окнах, когда аудиоустройства отключены в «диспетчере устройств». Я думаю, что проблема - драйвер аудиоустройства, попробуйте обновить или переустановить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...