我有两台机器在我的职权范围内,A和B是一台非常老的机器,我已经在它上安装了应用程序,听起来很好。另一方面,在机器A上,声音对自由容器根本不起作用。我怎么诊断这个?
有趣的是,在机器A上,我在16.10之前创建了自己的非特权LXC容器,声音在其中工作,在升级后继续工作;但是它不能在利伯丁上工作,它在一个新的16.10安装上使用相同的LXC。
libertine和libertine-scope。gtk3的conf文件。我尝试在容器中运行speaker-test。它在主机上运行会产生正确的声音,但是在容器上,此错误显示:
$ libertine-launch container-name speaker-test -t wav -c 6
speaker-test 1.1.2
Playback device is default
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
ALSA lib pcm_dmix.c:1041:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory发布于 2016-12-07 00:50:17
一些研究表明,许多较新的系统(机器A)通常采用HDMI作为默认设置。您的旧系统(机器B)可能只有模拟音频,所以这是默认的那个。
发出命令aplay -l,获取应该输出的音频设备列表,如下所示:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0此输出将帮助您确定要将哪一张卡作为输出的默认选项。
查看并查看您需要的音频输出(card 0设备0是alsa默认值,这可能不是您所需要的;在我的例子中,我需要指定卡1)。
使用命令gedit ~/.asoundrc在主目录中创建一个文件(请随意将您最喜欢的文本编辑器替换为gedit)
增加以下几行:
pcm.!default {
type hw
card *X*
}
ctl.!default {
type hw
card *X*
}*X*保存文件,然后重试。
进一步可能适用的信息是可用的这里。
编辑:我很高兴你能得到2个音频频道下的自由工作。关于你扩大的问题。您可以检查amixer scontrols的输出,并确保您所选择的输出支持6个音频通道,如果支持,则使用alsamixer确保它们中没有一个是静音的,并且您处于6通道模式而不是2通道模式,如下所示。

要更改alsamixer中的通道模式,请使用箭头键突出显示上面所示的Channel,然后上下箭头选择所需的模式。
资料来源:
man aplay
https://www.alsa-project.org/main/index.php/Asoundrc#The_.asoundrc_文件_格式化
https://askubuntu.com/questions/855051
复制相似问题