Как установить устройство ALSA по умолчанию на пульсирующий звуковой сервер на Docker?

Щелкните правой кнопкой мыши файл .cpp и перейдите к свойствам. На вкладке «Открыть с» выберите gedit из списка и под списком выберите «установить как значение по умолчанию».

2
задан 15 November 2017 в 09:53

2 ответа

Спасибо на этот комментарий fsmunoz, я могу воспроизводить звуки на контейнер использование pulseaudio, без изменения любых конфигурационных файлов. Баллы следующие:

набор PULSE_SERVER для того, чтобы позволить контейнера с pulseaudio знать адрес сервера. Добавить контейнер в audio группа. Печенье поделиться с pulseaudio это.

и вот рабочий пример:

$ sudo docker run -it \ --device /dev/snd \ -e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native \ -v ${XDG_RUNTIME_DIR}/pulse/native:${XDG_RUNTIME_DIR}/pulse/native \ -v ~/.config/pulse/cookie:/root/.config/pulse/cookie \ --group-add $(getent group audio | cut -d: -f3) \ ubuntu:16.04 /bin/bash root@9c9f7e0db4e3:/# apt update root@9c9f7e0db4e3:/# apt install alsa-base alsa-utils pulseaudio root@eed016c1fb61:/# aplay -L | head -n9 default Playback/recording through the PulseAudio sound server null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server sysdefault:CARD=PCH HDA Intel PCH, ALC295 Analog Default Audio Device root@9c9f7e0db4e3:/# aplay /usr/share/sounds/alsa/Front_Center.wav Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono root@9c9f7e0db4e3:/# paplay /usr/share/sounds/alsa/Front_Center.wav # Success!

Примечание: все-таки, я не знаю, зачем нужны куки. Без печенья, ошибка ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Access denied произошло.

0
ответ дан 18 July 2018 в 03:59

Благодаря комментарию fsmunoz, я могу воспроизводить звуки в контейнере с помощью pulseaudio, не изменяя никаких файлов конфигурации. Точками являются следующие:

Установите PULSE_SERVER, чтобы позволить пульсовому аудиту контейнера знать адрес сервера. Добавьте контейнер в группу audio. Поделитесь cookie pulaudio.

И вот рабочий пример:

$ sudo docker run -it \ --device /dev/snd \ -e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native \ -v ${XDG_RUNTIME_DIR}/pulse/native:${XDG_RUNTIME_DIR}/pulse/native \ -v ~/.config/pulse/cookie:/root/.config/pulse/cookie \ --group-add $(getent group audio | cut -d: -f3) \ ubuntu:16.04 /bin/bash root@9c9f7e0db4e3:/# apt update root@9c9f7e0db4e3:/# apt install alsa-base alsa-utils pulseaudio root@eed016c1fb61:/# aplay -L | head -n9 default Playback/recording through the PulseAudio sound server null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server sysdefault:CARD=PCH HDA Intel PCH, ALC295 Analog Default Audio Device root@9c9f7e0db4e3:/# aplay /usr/share/sounds/alsa/Front_Center.wav Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono root@9c9f7e0db4e3:/# paplay /usr/share/sounds/alsa/Front_Center.wav # Success!

Примечание: Тем не менее, я не знаю, зачем нужен файл cookie. Без файла cookie произошла ошибка ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Access denied.

0
ответ дан 24 July 2018 в 17:58

Другие вопросы по тегам:

Похожие вопросы: