【问题标题】:Emulate Sound Card ALSA snd-dummy (Docker - Kernel Rebuild - ALSA snd-dummy)模拟声卡 ALSA snd-dummy (Docker - Kernel Rebuild - ALSA snd-dummy)
【发布时间】: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


【解决方案1】:

我认为解决方案是将声音设备挂载到docker中,这里的问题是你必须使用privileged

docker run  -v /dev/snd:/dev/snd --privileged myImage ...

更新 您也可以插入内核模块 snd-aloop 并指定 2 作为主机上的声音循环设备的索引:

sudo modprobe snd-aloop index=2
docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnc

【讨论】:

  • 谢谢 LinPy。这一切都让我感到困惑。也许我对这一切都错了。我可以使用 --device /dev/snd 将我的主机声卡传递到容器/docker。如果我在主机上观看 youtube,而在我的 docker 容器上观看另一个实例,则 docker 容器无法访问声卡。因此,如果声卡被允许/特权进入 docker 映像,我将如何设置 snd-dummy? docker 镜像内核中不存在 snd-dummy 模块。 “apt source linux-image-$(uname -r)”也找不到图片。
  • 好的,感谢您抽出宝贵的时间 LinPy。
猜你喜欢
  • 2012-01-09
  • 2022-01-17
  • 2018-12-18
  • 1970-01-01
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 2014-07-01
相关资源
最近更新 更多