Ich versuche, einen Python-Prozess einzurichten, der Audio abspielt und automatisch beim Booten mit systemd startet. Dabei ist das Audio jedoch voller Knackgeräusche, obwohl es in Ordnung ist, wenn ich es selbst in der Befehlszeile ausführe. Wie Sie in meiner Datei .service
unten sehen können, habe ich versucht, die Prozesspriorität auf jede erdenkliche Weise zu maximieren. Weiß jemand, was schief läuft?
Das Skript ist hier:https://github.com/UndarkAido/superhet( Um es auszuführen, müssen Sie das music
Verzeichnis und sich selbst auffüllen. füllt das Verzeichnis.)secrets.py
genBreaks.py
breaks
superhet.service:
[Unit]
Description=Superhet radio
After=multi-user.target sound.target
[Service]
Type=simple
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=99
IOSchedulingClass=realtime
IOSchedulingPriority=0
Nice=-20
User=aidan
Group=aidan
WorkingDirectory=/home/-user-/Source/superhet
ExecStart=/home/-user-/Source/superhet/venv/bin/python main.py
[Install]
WantedBy=multi-user.target
Systeminformationen:
`.::///+:/-. --///+//-:`` -user-@superhet
`+oooooooooooo: `+oooooooooooo: --------------
/oooo++//ooooo: ooooo+//+ooooo. OS: Raspbian GNU/Linux 10 (buster) armv7l
`+ooooooo:-:oo- +o+::/ooooooo: Host: Raspberry Pi 4 Model B Rev 1.1
`:oooooooo+`` `.oooooooo+- Kernel: 5.10.63-v7l+
`:++ooo/. :+ooo+/.` Uptime: 20 mins
...` `.----.` ``.. Packages: 1485 (dpkg)
.::::-``:::::::::.`-:::-` Shell: bash 5.0.3
-:::-` .:::::::-` `-:::- Terminal: /dev/pts/0
`::. `.--.` `` `.---.``.::` CPU: BCM2711 (4) @ 1.500GHz
.::::::::` -::::::::` ` Memory: 89MiB / 1872MiB
.::` .:::::::::- `::::::::::``::.
-:::` ::::::::::. ::::::::::.`:::-
:::: -::::::::. `-:::::::: ::::
-::- .-:::-.``....``.-::-. -::-
.. `` .::::::::. `..`..
-:::-` -::::::::::` .:::::`
:::::::` -::::::::::` :::::::.
.::::::: -::::::::. ::::::::
`-:::::` ..--.` ::::::.
`...` `...--..` `...`
.::::::::::
`.-::::-`
Bearbeiten: systemctl status superhet.service
wird auch superhet python[1040]: ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
regelmäßig angezeigt
Antwort1
Durch das Hinzufügen Environment=XDG_RUNTIME_DIR=/run/user/1000
zur Servicedatei konnte PyGame eine Verbindung zu PulseAudio herstellen