Есть ли способ совместного воспроизведения файлов WAV на Linux в Java? - PullRequest
1 голос
/ 03 декабря 2011

Пока я нашел только два пути:

  1. исключение
  2. ничего не играть

ad.2. Довольно недавний код (2010)

но ничего не делает, совсем не звучит.

ad.1. Например:

Все, что я получаю, это исключение "Аудиоустройство недоступно". В этой статье (2008) - lsof | grep snd - как освободить звуковое устройство linux - объясняется, что Java должна получить эксклюзивный доступ к аудиоустройству.

Однако я не могу позволить себе такое условие. Я использую звук, чтобы уведомить себя о длительном процессе (несколько часов), я не могу избавиться от всех звуков (включая те, которые вызываются с помощью Flash-рекламы) только для того, чтобы сделать Java удобной.

Итак, сейчас я использую Total Extreme - я просто запускаю внешнюю программу: https://stackoverflow.com/a/8370223/210342. Это ужасно ужасно, потому что новая программа запускается только для уведомления.

Вопрос

Есть ли способ воспроизведения файла WAV:

  • в Linux,
  • совместным способом (во время воспроизведения Java может также воспроизводиться другой звук),
  • который издает звук
  • в Java (без запуска внешних программ)?

Java 1.6, openSUSE 11.4

Ответы [ 4 ]

2 голосов
/ 16 января 2012

Вы пробовали Java Media Framework (JMF) ?

Java Media Framework API (JMF) позволяет аудио, видео и другие основанные на времени медиа для добавления в приложения и апплеты, построенные на Java технология. Это дополнительный пакет, который может захватывать, воспроизводить, поток и перекодировать несколько форматов мультимедиа, расширяет Java 2 Платформа Standard Edition (J2SE) для разработчиков мультимедиа предоставление мощного инструментария для разработки масштабируемой, кроссплатформенной технология.

0 голосов
/ 19 января 2012

Итак, благодаря ответу AT я перешел от JMF к проблемам JMF, и это привело меня к VLC-J. И это ответ - для того, чтобы использовать мультимедиа в программе Java, просто не используйте Java (жаль, что у Java в 2012 году нет надежного уровня мультимедиа, гы.).

Пометка как решенная, потому что VLC-J позволил мне воспроизводить аудио без проблем.

Основной сайт проекта: http://code.google.com/p/vlcj/

Минимальная программа воспроизведения: http://code.google.com/p/vlcj/source/browse/trunk/vlcj/src/test/java/uk/co/caprica/vlcj/test/minimalmp3/Mp3Test.java

0 голосов
/ 17 января 2012

Java имеет эту встроенную поддержку (доступно в пакетах javax.sound, javax.sound.sampled) в версии 1.4+. Совместно работает с другими приложениями в системе, поскольку использует платформенный микшер (ALSA или PULSE)

0 голосов
/ 16 января 2012

Этот сайт предоставляет простое приложение Swing для захвата и воспроизведения файлов WAV http://www.java -tips.org / java-se-tips / javax.sound / capturing-audio-with-java-sound-api.html Вы можете изменить и использовать код с сайта ниже http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml

Не можете просто создать новую тему, когда требуется игровое действие.Так что игра продолжается независимо от фоновых процессов

...