我正在开发一个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的任何其他论据?
答案 0 :(得分:2)
该过程可能需要以用户“pi”运行。
可以在Service
部分
[Service]
User=pi