Unreal Torunament (UT99) 在 12.04 版中没有声音?

Unreal Torunament (UT99) 在 12.04 版中没有声音?

几天来我一直在尝试让虚幻引擎 4 中的声音正常工作。

我使用的是原生的 Unreal Tournament 版本,而不是 Wine 或类似的东西。我尝试过的所有其他游戏和媒体应用程序都有声音。

在较旧的 ubuntu 版本中,它运行良好。我现在使用 kubuntu 12.04,我已安装所有 alsa-oss 和 oss-compat 包。

我已经遵循了大部分建议,但似乎所有建议都与 padsp 和 aoss 有关。

但是,我的问题是,即使尝试使用padspaoss,我也听不到任何声音。

(注意UT有两种输出模式:ALAudioGeneric(OSS),我都尝试过了)。

是否需要进行一些配置才能正确使用 padsp 或 aoss?

padsp ./ut我已经像并且一样运行它aoss ./ut

如果在 UT 中使用 AL 后端,我会得到(aoss 和 padsp 都提供此信息):
Bound to ALAudio.so
open /dev/dsp: Invalid argument
Audio initialization failed.

如果在 UT 中使用 OSS 后端,我会得到(aoss 和 padsp 都提供此信息):
Bound to Audio.so
Failed to open audio device.
Audio initialization failed.

请注意,到目前为止,我还没有收到任何声音。

谢谢你的帮助!

答案1

padsp在 XUbuntu 18.04 64 位上对我来说不起作用。我收到有关 ELF 类的错误:

错误:ld.so:来自 LD_PRELOAD 的对象‘/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so’无法预加载(错误的 ELF 类:ELFCLASS64):忽略。

如果你看一下这个/usr/bin/padsp文件(它是一个 BASH 脚本),你会看到它具体指的是 x86_64 库。该链接建议创建第二个padsp32脚本,但由于这是一个非常独特的二进制文件,我决定将相关代码复制并粘贴到调用的脚本中ut-bin,并进行修改以使用 i386。

首先,确保您拥有 i386 版本的 libpulsedsp:

sudo apt-get install libpulsedsp:i386

然后编辑用于启动 UT 的脚本(我的脚本在/usr/local/games/ut/ut),并将这些行放在调用之前ut-bin(或者在我的情况下是包含“ut-bin”的变量):

if [ x"$LD_PRELOAD" = x ] ; then
   LD_PRELOAD="/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so"
else
   LD_PRELOAD="$LD_PRELOAD /usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so"
fi
export LD_PRELOAD

我还应该提到,虽然使用 ALAudioSubsystem 会导致音频严重延迟,但当我尝试 GenericAudioSubsystem 时,游戏会崩溃。到目前为止,我发现的最佳解决方法是编辑~/.loki/ut/System/UnrealTournament.ini并在 下用[ALAudio.ALAudioSubsystem]替换。这虽然不能消除音频延迟,但可以显著减少它。Latency=40Latency=0

答案2

好的,经过多次尝试和失败后,我终于在虚幻竞技场中听到了声音。它以正确的速度运行,所以没有更多问题!以下是我所做的重要事情:

~/.loki/ut/System/UnrealTournament.ini

;AudioDevice=ALAudio.ALAudioSubsystem
AudioDevice=Audio.GenericAudioSubsystem

UnrealTournament/bin/x86/ut(请注意,此文件应位于您安装 UT 的位置)中,第 84 行应为:

exec padsp "./ut-bin" -log $*

因此,使用 运行可执行文件padsp,我也在这里尝试过aoss,但没有成功。


不过,我认为在对 ubuntu 安装进行几次升级之后,我的声音设置已经完全崩溃了。

我跟着此 Ubuntu 论坛帖子删除我的所有 pulseaduio 配置(或错误配置):

$ rm -r ~/.pulse ~/.asound* ~/.pulse-cookie
sudo rm /etc/asound.conf

在攻击这些文件之前,您可能应该备份它们。此外,我重新安装了 pulseaudio 软件包并删除了该alsa-oss软件包。但请注意,这可能不是必需的。

希望这可以帮助别人!

答案3

尝试安装osspd:

sudo apt-get install osspd

或来自这里

我在 Heroes 3 和 Rune 中遇到了同样的问题,刚刚在 synaptic 中找到了此包。现在所有与声音相关的问题都消失了。您可以使用它运行任何较旧的 OSS 应用程序,无需应用任何文件调整或命令行选项,只需安装它并运行您想要的应用程序或游戏即可。

相关内容