我用ROS运行了很多码头集装箱,用来控制机器人。其中一个容器必须通过sound_play包播放一些音频文件。但是,它返回错误。
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started我能够从容器内部aplay音频(.wav)文件,我的声卡是绝对被识别的,我也尝试过以特权模式运行容器。我还尝试在容器中分别安装jackd并启动一个jack服务器,但得到了错误。
Cannot lock down 82274202 byte memory area (Cannot allocate memory).
Bus error (core dumped)我对这个问题的理解是否正确?如果是这样,我如何才能让jack服务器在容器中启动?
发布于 2016-06-23 00:43:52
我通过安装jackd1而不是jackd2来解决这个问题,因为显然,jackd2需要实时优先级,而这些优先级我无法提供给码头容器。不过,jackd1做到了这一点。
我的Dockerfile:
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y jackd1运行命令:
docker run -it --rm --privileged=true --device=/dev/snd:/dev/snd myContainerName jackd -R -d alsa -d hw:1这将启动容器中的插孔服务器。在此之后,sound_play节点运行良好。
http://crunchbang.org/forums/viewtopic.php?id=33530的部分贷方
https://stackoverflow.com/questions/37955550
复制相似问题