如何强制OpenAL与libgdx中的pulseaudio接口? (适用于GNOME,但不适用于i3)

问题描述 投票:0回答:1

我对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上执行此操作。

libgdx alsa openal pulseaudio i3
1个回答
0
投票

我遇到了同样的问题。看来pulseaudio尚未启动。通过〜/ .config / i3 / config显式启动它:

exec_always --no-startup-id /usr/bin/pulseaudio --start
© www.soinside.com 2019 - 2024. All rights reserved.