如何让ALSA播放在docker中可用?
之前pull了一个ros:kinetic-robot镜像,这个镜像是基于ubuntu的,然后把以前的ALSA播放wav代码挂上去执行
docker run -it \
--device /dev/snd:/dev/snd \
-v /media/dyan/project/projects/voice/:/data/voice/ \
ros:kinetic-robot
播放音频报错了,打开声卡设备时出了问题
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave #这是snd_pcm_open()输出的异常
cannot open audio device default (No such file or directory) #这一行是我在err_num=snd_pcm_open()失败后打印的,括号中的信息是snd_strerror(err_num)
查看过了一些相关问题run apps using audio in a docker container
但是仍然解决不能解决。
在容器里面apt search alsa
,alsa的库是有的,代码在容器中也能编译通过。
root@72b53ba14730:/# apt search alsa
Sorting... Done
Full Text Search... Done
libasound2/now 1.1.0-0ubuntu1 amd64 [installed,local]
shared library for ALSA applications
libasound2-data/now 1.1.0-0ubuntu1 all [installed,local]
Configuration files and profiles for ALSA drivers
libasound2-dev/now 1.1.0-0ubuntu1 amd64 [installed,local]
shared library for ALSA applications -- development files
libgcrypt20/now 1.6.5-2ubuntu0.4 amd64 [installed,local]
LGPL Crypto library - runtime library
libsdl1.2debian/now 1.2.15+dfsg1-3 amd64 [installed,local]
Simple DirectMedia Layer
不知道问题出在哪里,是设备映射哪里不对吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到了
链接描述
链接描述
然后还需要安装一些包
嗯,目前可以正常播放了