【发布时间】:2020-01-12 21:28:40
【问题描述】:
我使用的 docker 镜像没有 ALSA 的 snd-dummy 模块可用。我需要模拟声卡。我不需要(或不想)听音频。
根据我所做的许多搜索,我很确定我想使用 ALSA 的 snd-dummy 模块来模拟声卡,它本质上是 /dev/null。
查看 ALSA Matrix:Module-dummy 的指南,它指出如果“modinfo soundcore”返回你有这个模块,那么你不需要重新编译你的内核。
在我的例子中,我没有可用的“soundcore”或“sound”。我认为这意味着我必须重新编译内核。重新编译 docker 镜像的内核对我来说是一个新概念。 Docker 对我来说是一个新概念。
总的来说,我需要将 ALSA 的 snd-dummy 模块安装到 Linux docker 映像上,该映像没有将 soundcore/sound 编译到内核中。
Docker 镜像: https://github.com/fcwu/docker-ubuntu-vnc-desktop
ALSA 矩阵 snd-dummy: https://www.alsa-project.org/main/index.php/Matrix:Module-dummy
这对我来说是一个潜在的解决方案吗?: https://github.com/torvalds/linux/blob/master/sound/drivers/dummy.c
编辑:
将 ~/.asoundrc 替换为以下内容并运行“alsactl restore”时,我得到以下输出。此外,我的主机音量也受到影响。
# .asoundrc
pcm.dummy {
type hw
card 0
}
ctl.dummy {
type hw
card 0
}
$ alsactl 恢复
alsactl: load_state:1683: 无法打开 /var/lib/alsa/asound.state for 阅读:没有这样的文件或目录找到硬件:“HDA-Intel” "瑞昱 ALC269VB" "HDA:10ec0269,10280446,00100100 HDA:80862805,80860101,00100000" "0x1028" "0x0446" 硬件是
使用通用方法初始化找到硬件:“Dummy”“Dummy”
Mixer" "" "" "" 硬件使用通用方法初始化
【问题讨论】:
-
ALSA 已经(已经?)作为独立驱动程序开发了很长时间。我不知道他们是否提供这种可能性,但这将是一种选择。
标签: linux docker linux-kernel alsa pulseaudio