Я пытаюсь заставить Aplay Play A WAV -файл на моем Beaglebone, работающем Debian (Trixie). < /p>
Я могу сделать это от обычного пользователя входа в систему без проблем. < /p>
aplay -D dmix:CARD=Device,DEV=0 somefile.wav
< /code>
работает отлично и играет звук на динамике USB, поэтому я считаю, что оборудование все в порядке. Проблема возникает, когда я пытаюсь вызовать Aplay из сценария PHP, работающего под NGINX. Это работает под пользователем www-data, поэтому я добавил www-data в аудио группу. Тогда я смог сделать это: < /p>
sudo -u www-data aplay -l
< /code>
, который показывает мне активные аудиоустройства, и я также могу сказать ему воспроизведение аудиофайла, и это успешно. Это не удается только тогда, когда он работает в реальной среде, т.е. при nginx. В этой среде Aplay возвращает статус 1, и я не могу сказать почему. Я могу запустить этот сценарий Bash от моего пользователя входа в систему, и он работает, и в соответствии с Nginx/PHP он просто входит в систему, поэтому я знаю, что он работает, и что он вызывает файл WAV, который я хочу, чтобы его. Я использую полный путь и регистрирую его. Я могу скопировать/вставить из журнала и вызвать Aplay с этим файлом, и он работает нормально. Разрешения на файле--RW-RW-R-
, поэтому они читаются всеми. Он принадлежит другому пользователю, хотя. Я совершенно уверен, что есть какой-то, надеюсь, очевидный, трюк, который я забыл с первого раза, когда я его настроил, хотя это было до тридки.
Я пытаюсь заставить Aplay Play A WAV -файл на моем Beaglebone, работающем Debian (Trixie). < /p> Я могу сделать это от обычного пользователя входа в систему без проблем. < /p> [code]aplay -D dmix:CARD=Device,DEV=0 somefile.wav < /code> работает отлично и играет звук на динамике USB, поэтому я считаю, что оборудование все в порядке. Проблема возникает, когда я пытаюсь вызовать Aplay из сценария PHP, работающего под NGINX. Это работает под пользователем www-data, поэтому я добавил www-data в аудио группу. Тогда я смог сделать это: < /p> sudo -u www-data aplay -l < /code> , который показывает мне активные аудиоустройства, и я также могу сказать ему воспроизведение аудиофайла, и это успешно. Это не удается только тогда, когда он работает в реальной среде, т.е. при nginx. В этой среде Aplay возвращает статус 1, и я не могу сказать почему. Я могу запустить этот сценарий Bash от моего пользователя входа в систему, и он работает, и в соответствии с Nginx/PHP он просто входит в систему, поэтому я знаю, что он работает, и что он вызывает файл WAV, который я хочу, чтобы его. Я использую полный путь и регистрирую его. Я могу скопировать/вставить из журнала и вызвать Aplay с этим файлом, и он работает нормально. Разрешения на файле--RW-RW-R-[/code], поэтому они читаются всеми. Он принадлежит другому пользователю, хотя. Я совершенно уверен, что есть какой-то, надеюсь, очевидный, трюк, который я забыл с первого раза, когда я его настроил, хотя это было до тридки.