Как получить аудио Docker и ввод с Windows или Mac хост? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь создать образ Docker, который работает с динамиком и микрофоном.

У меня он работает с Ubuntu в качестве хоста, используя:

docker run -it --device /dev/snd:/dev/snd <docker_container>

Я бытакже хотел бы иметь возможность использовать образ Docker на хостах Windows и Mac, но не может найти эквивалент / dev / snd для использования динамика / микрофона хоста.

Любая помощь приветствуется

1 Ответ

0 голосов
/ 20 июня 2019

Мне удалось воспроизвести в Windows, используя pulseaudio.exe.

1] Загрузить pulseaudio для Windows: 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 следующим образом: exit-idle-time = -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.

...