Java 取消了 Karmic 的声音

Java 取消了 Karmic 的声音

每次我运行 Java 应用程序时,都会发生以下两件事之一:

  • 或者我在所有其他程序中都失去了声音(即使退出 Java 应用程序后)
  • 或者如果其他应用程序已经在播放声音,则该 Java 应用程序没有声音

通常可以通过从命令行运行来解决此问题pulseaudio --kill,但它并不总是有效。

有办法解决这个问题吗?

在升级到业力之前,这种情况不会发生。

其他信息:

  • 我使用的 Java 是 Sun 的 Java

答案1

这个问题困扰了我一段时间——幸运的是,我找到了解决办法。首先要做的是

sudo apt-get install alsa-oss

然后基本上,在你运行的任何基于 java 的命令前加上“aoss”。所以,

java app

变成

aoss java app

等等。这应该可以缓解你的问题。干杯。

答案2

尝试这个:

  1. 卸载 alsa-base 包
  2. sudo update-java-alternatives -s java-6-sun
    使用 Sun 的 Java,而不是默认的 Ubuntu Java 安装

您的计算机上必须安装 Sun 的 java。

编辑

一些可能有用的链接:
针对 Hardy、Intrepid 和 Jaunty Jackalope 用户的声音解决方案简单指南
Ubuntu 9.04 (Jaunty) 用户的声音解决方案

答案3

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

答案4

这可能不是您的选择,但 Ubuntu 上的 OpenJDK 实际上已被修改为默认使用 PulseAudio。切换到 OpenJDK 将使 java 声音“表现良好”。

您可以尝试配置 Sun JRE 以使用 OpenJDK 中的 PulseAudio;相关配置位于 中/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可能会有效。也可能无效。

相关内容