我正在构建无头软电话应用程序。我知道我可以用给定的工具构建wss或web服务器......但是我的web应用程序需要使用主机的扬声器和麦克风来做一些pjsip和其他编解码器。这些设备是在mac / windows / linux主机和docker容器之间共享的吗?
答案 0 :(得分:4)
我不得不从docker容器中使用linux主机的麦克风和扬声器。由于在基于linux / unix的操作系统中,设备是文件系统中的特殊文件,因此该解决方案应该适用。在Windows中它不会。
我发现我在容器中使用的ubuntu映像没有使用声卡所需的ALSA驱动程序。所以在docker容器中安装它们之后:
sudo apt-get install -y alsa-base alsa-utils
并使用以下参数运行docker镜像:
docker run --device /dev/snd:/dev/snd <container_name>
它奏效了。您可以通过在容器内调用aplay
和arecord
来测试它是否有效。
答案 1 :(得分:0)
从未尝试使用扬声器和麦克风,无论如何,您可以使用--device
中的docker run
选项访问主机设备。
有关详细信息,请参阅Add host device to container (–device) in Docker run reference。