У меня есть приложение на Java, пользовательский интерфейс которого сильно зависит от звука. В Windows и OS X все работает нормально; однако в Linux приложению требуется эксклюзивный доступ к звуковому устройству, выбрасывается LineUnavailableException
и звук не слышен. Я использую Kubuntu 9.10.
Это означает, что никакое другое приложение не может воспроизводить звук во время работы программы и даже не может удерживать аудиоустройство при запуске программы. Это естественно неприемлемо.
Вот код, который я использую для воспроизведения аудио:
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
this.wait((clip.getMicrosecondLength() / 1000) + 100);
clip.stop();
Я что-то не так делаю? Является ли использование Java для воспроизведения звука в Linux безнадежным?