在systemd运行时,aplay不播放音频

时间:2016-09-28 13:15:28

标签: linux qt shell systemd qprocess

我正在开发一个Qt应用程序,其中包含以下代码块来播放声音

QString soundApp = "/usr/bin/aplay";
QStringList soundFile;
soundFile << "/home/pi/urna-files/sources/som-longo.wav";

QProcess *playSound = new QProcess;
playSound->start(soundApp, soundFile);

从命令行运行应用程序时声音播放正常。

当我在启动后使用systemd和unit文件启动应用程序时,QProcess不播放音频。

[Unit]
Description=Voting Machine Launch Service

[Service]
ExecStart=/home/pi/urna
Restart=always

[Install]
WantedBy=multi-user.target

我该怎么办才能让它发挥作用?在单元文件中还有更多要添加的内容吗?或QProcess的任何其他论据?

1 个答案:

答案 0 :(得分:2)

该过程可能需要以用户“pi”运行。

可以在Service部分

中完成
[Service]
User=pi