1

Каждый раз, когда я запускаю Java-приложение, происходит одно из двух:

  • Либо я теряю звук во всех других программах (даже после выхода из приложения Java)
  • или если какое-то другое приложение уже воспроизводит звук, указанное приложение Java не имеет звука

Обычно это можно исправить, запустив pulseaudio --kill из командной строки, но это не всегда работает.

Есть ли способ исправить эту проблему?

Этого не произошло до обновления до кармического.

Другая информация:

  • Ява, которую я использую - это Sun's Java

5 ответов5

3

Это проблема, которая мучила меня некоторое время - к счастью, я нашел обходной путь. Первое, что нужно сделать, это

sudo apt-get install alsa-oss

Затем, в основном, добавьте префикс "aoss" к любым командам на основе Java, которые вы запускаете. Так,

java app

становится

aoss java app

И так далее. Это должно облегчить ваши проблемы. Приветствия.

0
pulseaudio --kill 

Это, как вы сказали, только (немного раздражающая) работа вокруг, может быть, вам нужно что-то более радикальное, в моих экспериментах с « УЖАСНЫМ » управлением звуком Linux, я обнаружил, что pulseaudio - это больше проблема, чем решение, Мой совет - УДАЛИТЬ это, используя пунктуальную (и обратимую, конечно) процедуру, я мог бы написать это, но я нашел это здесь:

http://www.ubuntugeek.com/how-to-remove-pulse-audio-ubuntu-810-intrepid-ibex.html

Возьмите это слово "cum grano salis", даже если оно было написано для 8.10, пытаясь понять, кто заинтересован в управлении звуком в Linux, может быть, вы сможете чему-то научиться. :-D

0

Я знаю, что это не обходной путь и не решение, но это может помочь вам сделать один шаг к решению проблемы (по крайней мере, я так надеюсь): http://linux.dsplabs.com.au/lsof-grep-snd -как к свободно-а-Linux-звук-устройства-р25/

Кажется, что Java нуждается в звуковом устройстве, и вот оно одно: решение, опубликованное Адрианом Петреску, хорошо. Я бы улучшил его, используя " aliases " в bashrc, что-то вроде "alias j = 'aoss java app'" могло бы помочь.

Надеюсь, что вы сможете найти реальное решение (в таком случае, я надеюсь, что вы напишете что-то по этому вопросу в некоторых великих, потому что, как сказал Адриан,

"реальное решение" будет включать изменение аудио классов Java

С уважением

0

Возможно, это не вариант, но OpenJDK в Ubuntu на самом деле был изменен для использования PulseAudio по умолчанию. Переключение на OpenJDK заставит звук Java "вести себя".

Вы можете попробовать настроить Sun JRE для использования материалов PulseAudio из OpenJDK; соответствующая конфигурация находится в /usr/lib/jvm/java-6-openjdk/jre/lib/sound.properties а код находится в /usr/lib/jvm/java-6-openjdk/jre/lib/ext/pulse-java.jar . Копирование этих файлов в соответствующее расположение в каталоге /usr/lib/jvm/java-6-sun может работать. Или это не так.

0

Попробуй это:

  1. Удалите пакет alsa-base
  2. sudo update-java-alternatives -s java-6-sun
    использовать Java Sun, а не Ubuntu Java по умолчанию

На вашем компьютере должна быть установлена Java-версия Sun.

РЕДАКТИРОВАТЬ

Некоторые ссылки, которые могут быть полезны:
Простое руководство по звуковым решениям для пользователей Hardy, Intrepid и Jaunty Jackalope
Звуковые решения для пользователей Ubuntu 9.04 (Jaunty)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .