我正在尝试创建可与扬声器和麦克风配合使用的Docker映像。
我已经通过以下方式将它与Ubuntu配合使用:
docker run -it --device /dev/snd:/dev/snd <docker_container>
我也希望能够在Windows和Mac主机上使用Docker映像,但是找不到与/ dev / snd等效的主机来使用主机的扬声器/麦克风。
任何帮助表示赞赏
答案 0 :(得分:0)
我能够使用Pulseaudio.exe在Windows上播放。
1]下载适用于Windows的Pulseaudio:https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/
2]解压缩并更改配置文件。
2a]将以下行添加到$ INSTALL_DIR / etc / pulse / default.pa:
load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
这是一个不安全的设置:有些基于IP的设置更安全,但是我认为有一些Docker手段可以利用它们。在进程运行时,您网络上的任何人都可以将声音推送到该端口;对于大多数用户来说,这种风险是可以接受的。
2b]将$ INSTALL_DIR / etc / pulse // etc / pulse / daemon.conf行更改为: 出口空闲时间= -1
这将使守护程序在最后一个客户端断开连接后保持打开状态。
3)运行pulseaudio.exe。您可以将其运行为
start "" /B "pulseaudio.exe"
将其作为背景,但杀死它的技巧不只是简单的执行。
4)在容器的外壳中:
export PULSE_SERVER=tcp:127.0.0.1
我从(https://token2shell.com/howto/x410/enabling-sound-in-wsl-ubuntu-let-it-sing/)获得的一篇文章建议在Windows 10中可能会阻止录制。