我对openAL和Pulseaudio有问题。当我运行原始生成的libgdx代码时,它可以正常工作。但是,当我启动音量控制GUI(pavucontrol)时,出现一条消息,提示脉冲音频尚未启动。但是,如果我要启动Firefox并播放运行libgdx代码的音频文件之前,那么我将运行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上执行此操作。
我遇到了同样的问题。看来pulseaudio尚未启动。通过〜/ .config / i3 / config显式启动它:
exec_always --no-startup-id /usr/bin/pulseaudio --start