gpt4 book ai didi

audio - 如何在 Mac OS Yosemite 上的 Docker 容器中播放声音

转载 作者:IT老高 更新时间:2023-10-28 12:43:08 50 4
gpt4 key购买 nike

我正在尝试将文本转语音应用程序 docker 化以与其他开发人员共享代码,但是我现在遇到的问题是 docker 容器在我的主机上找不到声卡。

当我尝试在我的 docker 容器中播放 wav 文件时

root@3e9ef1e869ea:/# aplay Alesis-Fusion-Acoustic-Bass-C2.wav
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:722: audio open error: No such file or directory

我猜主要问题是 docker 容器无法访问我主机上的声卡。

到现在为止

  1. 我在我的内部安装了 alsa-utils 和大部分 alsa 依赖项 docker 容器。
  2. 在运行时添加了 --group-add audio容器通过指定 docker run --group-add audio -t -i
    self /debian/bin/bash

我不确定 docker 是否可以做到这一点(我不确定声卡等硬件资源是如何与容器共享的)。我在 Mac OS Yosemite 主机上使用 debian 容器。

最佳答案

绝对有可能,你需要挂载/dev/snd,看看Jess Frazelle如何启动一个Spotify容器,来自

https://blog.jessfraz.com/post/docker-containers-on-the-desktop/

你会注意到

docker run -it \
-v /tmp/.X11-unix:/tmp/.X11-unix \ # mount the X11 socket
-e DISPLAY=unix$DISPLAY \ # pass the display
--device /dev/snd \ # sound
--name spotify \
jess/spotify

或者对于 Chrome,最后

docker run -it \
--net host \ # may as well YOLO
--cpuset-cpus 0 \ # control the cpu
--memory 512mb \ # max memory it can use
-v /tmp/.X11-unix:/tmp/.X11-unix \ # mount the X11 socket
-e DISPLAY=unix$DISPLAY \ # pass the display
-v $HOME/Downloads:/root/Downloads \ # optional, but nice
-v $HOME/.config/google-chrome/:/data \ # if you want to save state
--device /dev/snd \ # so we have sound
--name chrome \
jess/chrome

关于audio - 如何在 Mac OS Yosemite 上的 Docker 容器中播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41083436/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com