0

我对 openAL 和 pulseaudio 有疑问。当我运行原始生成的 libgdx 代码时,它工作正常。但是,当我启动音量控制 GUI (pavucontrol) 时,我收到一条消息,提示尚未启动脉冲音频。但是,如果我要在运行 libgdx 代码之前启动 Firefox 并播放音频文件,那么我运行 libgdx 代码会打印此错误:

ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) alsa_open_playback: Could not open playback device 'default': Device or resource busy
org.lwjgl.LWJGLException: Could not locate OpenAL library.

似乎 openAL 直接与 alsa 对话,而不是与 pulseaudio 服务器对话。这是在我的 Ubuntu 18.04 系统上。当我在我的 Fedora 29 工作站或装有 Ubuntu 16.04 的旧笔记本电脑上运行相同的代码时,libgdx 代码运行完美,并将与来自 Firefox 的音频重叠,并且被 pavucontrol 识别为名为“java”的进程。

编辑:当我使用 GNOME 而不是我的 i3 Windows 管理器登录到我的会话时,它可以工作!请解释如何在 i3 上进行这项工作。

4

1 回答 1

0

我有同样的问题。似乎pulseaudio没有启动。通过 ~/.config/i3/config 显式启动它:

exec_always --no-startup-id /usr/bin/pulseaudio --start
于 2020-03-09T06:49:56.017 回答