ALSA (snd_pcm_open) через SSH? - PullRequest
       10

ALSA (snd_pcm_open) через SSH?

0 голосов
/ 08 февраля 2012

Я написал приложение, используя ALSA (snd_pcm_open, snd_pcm_readi и т. Д.).Приложение отлично работает локально на моей машине.Однако, когда я подключаюсь к другому компьютеру по SSH и запускаю его через соединение SSH, все вызовы snd_pcm_open завершаются с сообщением «Устройство не существует» или аналогичным.Удаленная машина имеет звуковую карту, как и моя локальная машина.

В чем здесь проблема?

Спасибо!

РЕДАКТИРОВАТЬ: Если я запускаю приложение с помощью консолина удаленном компьютере (зайдите к компьютеру, войдите в систему, запустите приложение), приложение работает нормально.

Ответы [ 4 ]

1 голос
/ 15 мая 2012

Возможно, проблема с правами доступа /dev/snd/*.Убедитесь, что пользователь находится в аудиогруппе.В моем случае мне пришлось сделать adduser $USER audio, отключиться, а затем снова подключиться.

1 голос
/ 08 февраля 2012

Просто чтобы подтвердить ... у вас установлено приложение на удаленной машине, а на удаленной машине в противном случае работает aplay и т. Д.?Удаленный компьютер должен быть настроен таким образом, чтобы при входе в систему с консоли и запуске приложения оно работало

. В этом случае проверьте переменные среды, так как иногда они могут слегка различаться.

1 голос
/ 08 февраля 2012

Просто чтобы проверить очевидное: драйверы для звуковой карты на удаленном компьютере загружены и работают правильно? Проверьте /proc/asound/cards и посмотрите, есть ли карта в списке.

0 голосов
/ 08 февраля 2012

Нашел причину. Оказывается, /dev/audio и устройства ниже /dev/snd/, где все, принадлежащие пользователю, вошли в систему на удаленном компьютере и доступны для чтения / записи никем другим. Для тестирования я применил chmod 777 /dev/audio /dev/snd/*, и он начал работать.

Кто-нибудь знает, как я могу применить немного более щедрые разрешения к аудиоустройствам для удаленного компьютера (которые будут действовать после перезагрузки)?

...