Ubuntu 16.04 中的 OpenBox 中脉冲音频和连接被拒绝

Ubuntu 16.04 中的 OpenBox 中脉冲音频和连接被拒绝

请查看下面附件中我遇到的错误的截图。

Pulse 音频错误截图

当我的应用程序播放 mp3 文件时,我在 openbox 会话中启动我的 Ubuntu 16.04 机器时出现此错误。

该错误类似于“脉冲音频管理器错误,无法连接上下文且连接被拒绝”。

但是,当我在 gnome-desktop 会话(而不是 openbox 会话)中执行相同的过程时,它可以正常工作,并且我的应用程序可以毫无问题地播放 mp3 文件。

如果有人对这个问题有任何想法,请告诉我。

谢谢。

答案1

我的 qt 应用程序尝试在 openbox 中播放 mp3 文件,但它出现 gstreamer 和 pulseaudio 相关错误。

所以我决定在 openbox 中启动我的应用程序,当它尝试播放 mp3 文件时,我的应用程序从 openbox 窗口管理器切换到 ubuntu 桌面(因为正如我在问题中提到的,当我在 gnome-desktop 会话(而不是 openbox 会话)中执行相同的过程时,它工作正常,我的应用程序播放 mp3 文件没有任何问题)并且它给了我上面提到的错误。

所以我开始思考“Pulse 音频管理器错误”。但在调试过程中,我发现从 openbox 切换到 ubuntu 桌面时出现问题,并导致上述错误。

因此,我运行下面的命令集,并在我的 qt 程序中重复相同的命令集 4-5 次,它解决了我的问题。这里的“nw”是 nodejs 程序,lighttpd 是它的 web 服务器。

pkill -f lighttpd

pkill -f nw

openbox --exit

现在我的应用程序在 openbox 中启动,在播放 mp3 文件之前,它切换到 ubuntu 桌面并播放 mp3 文件,没有任何问题和错误。

注意:我的应用程序启动了 lighttpd 和 nw。因此,如果我的应用程序没有终止 lighttpd 和 nw(如果出现上述错误),则错误仍然存​​在。这就是为什么我的应用程序要终止 lighttpd 和 nw 来解决错误。

相关内容