Foobar2000是一款非常强悍的音乐管理工具,只是它一直没有Linux版本。好在踩了几个坑后,它可以通过Wine,在Linux下几乎完美运行。我用的系统是Arch Linux。
安装Wine
Arch Linux中,Wine包含在multilib
软件源中,默认没有启用(因为该源包含其他架构的软件包)。在Root权限下打开/etc/pacman.conf
,然后找到并取消注释这两行(默认是注释的):
1 |
|
这样就可以安装了:
1 |
|
安装Foobar2000
安装方法很简单,直接从官网下载安装包,然后双击安装即可,就和Windows里一模一样,连文件关联也会如Windows般进行。
解决Foobar2000 Wine无法播放声音
刚安装好的Foobar2000无法找到音频设备,这是因为Wine后端调用PulseAudio模块来提供声音支持,而Foobar2000只有32位版本。默认情况下,在Arch Linux中安装Wine,会顺带装上32位的库,但偏偏没安装PulseAudio。因此要我们自己来补漏:
1 |
|
之后就可以在Foobar2000中选择PulseAudio作为输出了。
参考:https://bbs.archlinux.org/viewtopic.php?id=227993
使用ALSA作为音频后端
默认情况下,Wine和Linux发行版一样,使用PulseAudio作音频后端。用户还可以选择ALSA,它是Linux底层的声音框架,相对来说要有更低的延迟。
首先安装配置工具WineTricks:
1 |
|
然后直接运行它,可直接运行winetricks
,或在程序菜单中找到。打开时会出现几个错误提示(比如You are using a 64-bit WINEPREFIX.
),直接确认,无视之,进入主界面。
主界面是一系列菜单,依次选择下列项目:
- Select the default wineprefix
- Change settings
sound=alsa
- Set sound driver to ALSA
然后确认,即可把Wine的音频后端切换到ALSA。同时菜单项里还有sound=pulse
,选择它可切换回PulseAudio。
解决间歇性出现的播放错误
在使用ALSA为Wine音频后端后,我打开Foobar2000,播放音频时会间歇性出现Unrecoverable playback error: Unknown error code (0x8889000A)
的错误(比如拖动进度条时)。一个折衷的解决办法,是使用WASAPI输出。
首先**安装这个扩展:WASAPI Shared Output**,或点击这里下载,得到一个
fb2k-component
文件。下载后直接在文件管理器中双击它,会自动打开Foobar2000安装,选Yes即可,然后按提示重启Foobar2000。若打不开,则手动进入设置:_【Library】–〉【Preferences】–〉【Components】–〉【Install】_,选择该文件安装。
之后,在Foobar2000的设置中选择WASAPI输出。进入_【Library】–〉【Preferences】–〉【Playback】–〉【Output】_,在_【Device】_中选择以WASAPI开头的设备。注意在ALSA模式下,不同的音频设备是分开的,按需选择。
确认后,该问题即可得到解决。
- 本文作者: 爱拼安小匠
- 本文链接: https://anclark.github.io/2020/11/18/Struggle_with_Linux/Foobar-Wine踩坑记录/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0(署名-非商用-禁止演绎 3.0) 许可协议。转载请注明出处!