Почему aplay работает, когда pulseaudio работает, а другое нет? - PullRequest
3 голосов
/ 25 августа 2011

У меня установлена ​​Ubuntu с установленным по умолчанию pulseaudio.Когда работает pulseaudio, это работает: aplay -D hw: 2,7 / usr / share / xbmc / sounds / Bursting \ Bubbles / nav.wav

Но когда не запущен демон pulseaudio, он не работает.Команда не выдает ошибку, но я не слышу звук.

hw: 2,7 - это устройство nvidia hdmi.

Почему это так?Я не могу понять это.

Ответы [ 3 ]

4 голосов
/ 25 августа 2011

Прочитайте ссылку .

В нем говорится, что alsa (aplay) настроен на отправку своего вывода на pulseaudio (который является вашим звуковым сервером) по умолчанию.

Когда ваш звуковой сервер не работает, вы не сможете услышать звук, который вы наблюдали.

См. Также раздел «Удаление PulseAudio», чтобы отсоединить его от alsa.

Надеюсь, это поможет.

1 голос
/ 10 августа 2013

У меня была точно такая же проблема; Я на Ubuntu 11.04 Natty. У меня отключен запуск pulseaudio (например, 10.10 - Как я могу заменить pulseaudio на alsa? - Спросите Ubuntu или PulseAudio - ArchWiki ):

$ cat /etc/pulse/client.conf | grep -ve '^#\|^$'
; default-sink =
; default-source =
; default-server =
autospawn = no
; daemon-binary = /usr/bin/pulseaudio
; extra-arguments = --log-target=syslog
; cookie-file =
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB

$ pgrep pulse
$

В этом контексте я бы получил:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC269 Analog [ALC269 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
    HDA Intel, ALC269 Analog
    Default Audio Device
front:CARD=Intel,DEV=0
    HDA Intel, ALC269 Analog
    Front speakers
...
hw:CARD=Intel,DEV=0
    HDA Intel, ALC269 Analog
    Direct hardware device without any conversions
plughw:CARD=Intel,DEV=0
    HDA Intel, ALC269 Analog
    Hardware device with all software conversions
...

... но, даже если я явно указал устройство hw0:0, которое должно воспроизводить сэмплы на устройстве напрямую через ALSA, минуя любой сервер:

aplay -f cd -v -Dhw:0,0 --test-position loop_s16_stereo.wav
...
BUFPOS: avg5507/16508 min0/0 max22016/22016 (22016) (0:0/0)
BUFPOS: avg2754/19261 min0/0 max22016/22016 (22016) (0:0/0)

... и я видел бы даже настройки устройства - И менялись позиции буфера - и все же, нет звука? И даже alsamixer показал все элементы управления, установленные на максимум!

Ну, случайно я впервые включил pulseaudio:

pulseaudio --start

... и через минуту после запуска, затем запустили Систему / Настройки / Звук, или здесь:

gnome-volume-control

... и я понял, что там, прямо рядом с панелью «Громкость звука», есть флажок «Без звука» - и это было проверено! Так что я снял галочку, звуковой тест начал работать; закрыто gnome-volume-control, а затем снова закрыто pulseaudio:

pulseaudio --kill

Теперь я не могу запустить gnome-volume-control больше ( независимо от подсказок в 10.10 - Как отрегулировать громкость без pulseaudio? - Спросите Ubuntu - очевидно, более ранние версии позволяли выбрать бэкэнд через раскрывающийся список «Устройство»: old.png , но более новые не делают: new.png , и поэтому без pulseaudio они всегда будут с ошибкой «Ожидание звуковой системы» ответить ").

Однако, СЕЙЧАС, когда я запускаю команду aplay - она ​​ИГРАЕТ (как и положено)!

Это отключение звука, по-видимому, связано с ключом в /desktop/gnome/sound/ path в gconf-editor (см. gnome - Как отключить громкость оповещения из командной строки? - Спросите Ubuntu ), но я не могу скажи, какой действительно; Я только отмечаю, что на данный момент enable_esd, event_sounds и input_feedback_sounds все проверены для меня - и это, очевидно, заставляет команду aplay работать правильно, даже без pulseaudio.

Надеюсь, это кому-нибудь поможет,
Ура!

0 голосов
/ 26 мая 2019

Использование -D pulse должно сделать трюк как:

aplay -D pulse /usr/share/xbmc/sounds/Bursting\ Bubbles/nav.wav

Таким образом, aplay должен использовать устройство pulseaudio, которое вы сможете найти с помощью aplay -L

...