Firefox und aplay

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Firefox und aplay

Beitrag von wckl » 17.06.2021 13:31:15

Hallo,
damit ich die Zeit vor dem Computer nicht vergesse, habe ich zwei Cron-Jobs eingerichtet:

Code: Alles auswählen

30 * * * * aplay -q --device="sysdefault" /usr/share/sounds/sound-icons/cembalo-6.wav 
0 * * * *  aplay -q --device="sysdefault" /home/soso/Musik/geraeusche/alte_Standuhr.wav
Das funktioniert auch gut,
bis ich Firefox aufrufe (oder ein anders Programm) und der den Audiokanal blockiert, warum weiß ich nicht; zumindest nicht, wenn ich nicht absichtlich eine Audiodatei oder ein Video aufrufe.
Jedenfalls sind nun die Cron-Jobs blockiert, anstelle eines "Weckrufes" erhalte ich nun E-Mails mit dem Inhalt
Subject: Cron <soso@rechner> aplay -q --device="sysdefault" /home/soso/Musik/geraeusche/alte_Standuhr.wav
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: Fehler beim Öffnen des Gerätes: Das Gerät oder die Ressource ist belegt
Meine Frage:
Wie kann ich das verhindern?

Vielen Dank für Hinweise
wckl

willy4711

Re: Firefox und aplay

Beitrag von willy4711 » 17.06.2021 14:21:44

Ich vermute mal, dass Firefox (und andere) ihre Geräusche via PulseAudio weitergeben.
Wenn meine Vermutung richtig ist, er setze

Code: Alles auswählen

aplay
durch

Code: Alles auswählen

paplay  /home/soso/Musik/geraeusche/alte_Standuhr.wav
Dann wird über PA wiedergegeben, was dann selbständig mischt.
Über Alsa kann in der Regel nur ein Programm wiedergeben.

EDIT:
Sollte es ein "spezieller Lautsprecher" sein,
mit

Code: Alles auswählen

pactl list sinks short
die Sinks anzeigen lassen und dann mit

Code: Alles auswählen

paplay -d [sink]
diesen ansprechen
Zuletzt geändert von willy4711 am 17.06.2021 14:30:08, insgesamt 1-mal geändert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8311
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Firefox und aplay

Beitrag von smutbert » 17.06.2021 14:29:08

Wichtig ist auch, dass der cron-job unter deinem Benutzeraccount ausgeführt wird, damit paplay auf deine Pulseaudio-Instanz zugreifen kann und darf.
(Dann sollte es eigentlich auch mit aplay funktionieren – allerdings bin ich mir nicht sicher ob dann "sysdefault" das richtige Gerät ist.)

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Firefox und aplay

Beitrag von MSfree » 17.06.2021 14:31:17

willy4711 hat geschrieben: ↑ zum Beitrag ↑
17.06.2021 14:21:44
Ich vermute mal, dass Firefox (und andere) ihre Geräusche via PulseAudio weitergeben.
Pulseaudio dürfte der Default sein. Ich habe aber ein System ohne Pulseaudio und da gibt der Firefox auch Töne von sich, was wohl direkt über Alsa geht. Wenn also kein Pulseaudio vorhanden ist, kann es durchaus sein, daß Firefox die Audioschnittstelle blockiert.

willy4711

Re: Firefox und aplay

Beitrag von willy4711 » 17.06.2021 14:39:03

smutbert hat geschrieben: ↑ zum Beitrag ↑
17.06.2021 14:29:08
Dann sollte es eigentlich auch mit aplay funktionieren – allerdings bin ich mir nicht sicher ob dann "sysdefault" das richtige Gerät ist.
Habs gerade mal probiert :
Audacious --->PA
und parallel

Code: Alles auswählen

aplay ~/Musik/Alarm_Sounds/salamisound-2831616-gong-schulglocke-3-mal.wav
Kam beim ersten mal ziemlich "stotterig"
dann aber o.k. Wird dann halt über die gerade aktive Sink wiedergegeben.

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: Firefox und aplay

Beitrag von wckl » 17.06.2021 17:46:02

Leider erhalte ich für beide Cron-Aufträge diese Meldung in der E-Mail
Verbindungsfehler: Verbindung verweigert
pa_context_new() fehlgeschlagen: Verbindung verweigert
Der Cron-Eintrag:

Code: Alles auswählen

30 * * * * paplay  /usr/share/sounds/sound-icons/cembalo-6.wav 
0 * * * *  paplay  /home/soso/Musik/geraeusche/alte_Standuhr.wav

Code: Alles auswählen

ps aux | grep pulseaudio
.... /usr/bin/pulseaudio --daemonize=no --log-target=journal
Muss ich da etwas korrigieren?

Wenn ich die paplay Befehle im Terminal eingebe, so erhalte ich die gewünschten Töne !

rhHeini
Beiträge: 2247
Registriert: 20.04.2006 20:44:10

Re: Firefox und aplay

Beitrag von rhHeini » 17.06.2021 20:37:03

Mal den vollen Pfad vor paplay verwenden?

Benutzeravatar
smutbert
Moderator
Beiträge: 8311
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Firefox und aplay

Beitrag von smutbert » 17.06.2021 23:10:23

Das ist hier nicht der Fehler, sondern dass paplay sich nicht mit pulseaudio verbinden kann bzw. darf.

@wckl
Du bist noch nicht darauf eingegangen als welcher Benutzer du paplay ausführen lässt. Stehen diese cron-Jobs bei dir in der systemweiten crontab oder in deiner Benutzer-crontab?

Auch wird das nur dann funktionieren, wenn der Benutzer lokal angemeldet ist, sonst wird pulseaudio überhaupt gar nicht erst gestartet (und bekommt auch keinen Zugriff auf die Audio-Hardware). Nach deinem Eröffnungspost habe ich gar nicht daran gedacht, weil du von firefox geschrieben hast, das ja wohl ohnehin nur läuft, wenn du angemeldet bis.

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: Firefox und aplay

Beitrag von wckl » 17.06.2021 23:24:02

ich editiere die crontab als NORMALER nutzer mit

Code: Alles auswählen

crontab -e
nach meiner Kenntnis die Crontab für mich als Benutzer.
Das Problem tritt auf, wenn ich als normaler Benutzer angemeldet bin - eine andere Situation gibt es in diesem Fall nicht. (Es gibt - nach meiner Kenntnis - keine andern Benutzer. Andernfalls wäre wohl mein System gehackt - hoffentlich nicht.)

Benutzeravatar
smutbert
Moderator
Beiträge: 8311
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Firefox und aplay

Beitrag von smutbert » 18.06.2021 10:36:16

Habe es jetzt bei mir ausprobiert. Aus irgendeinem Grund muss man den Pulseaudioserver, genauer den Socket explizit angeben, zum Beispiel so

Code: Alles auswählen

30 * * * *  sh -c  'paplay --server unix:/run/user/$(id -u)/pulse/native /home/smutbert/01.wav'

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: Firefox und aplay

Beitrag von wckl » 18.06.2021 12:01:06

Funktioniert bei mir auch.
Vielen Dank für die Hilfe.

willy4711

Re: Firefox und aplay

Beitrag von willy4711 » 22.06.2021 07:31:29

Hat mich nun auch mal interessiert. Da ich die blöden Cron Jobs nicht mag, hab ich an einer Systemd- Lösung gebastelt.
Wollte auch nicht so richtig. Aber mit @smutberts Lösung gab es dann success :mrgreen:
smutbert hat geschrieben: ↑ zum Beitrag ↑
18.06.2021 10:36:16
Habe es jetzt bei mir ausprobiert. Aus irgendeinem Grund muss man den Pulseaudioserver, genauer den Socket explizit angeben, zum Beispiel so

Code: Alles auswählen

30 * * * *  sh -c  'paplay --server unix:/run/user/$(id -u)/pulse/native /home/smutbert/01.wav'
Ich habe den Timer und den Service via Debian cockpit eingerichtet, wo man so was höchst komfortabel im Browser machen kann.
Kleiner Stolperstein war das /$(id -u da wurde mir im Journal ausgegeben

Code: Alles auswählen

Jun 21 23:01:03 XFCE paplay[256469]: paplay: Ungültige Option -- u
Da ich der einzige User bin, hab ich es halt mit meiner ID ersetzt.
Nur falls es Interessiert:
Timer:

Code: Alles auswählen

[Unit]
Description=Jede Stunde Bimmeln
[Timer]
OnCalendar=*-*-* *:1
[Install]
WantedBy=timers.target
Service:

Code: Alles auswählen

[Unit]
Description=Jede Stunde Bimmeln
Wants=pulseaudio.service

[Service]
User=willy
ExecStart=paplay --server unix:/run/user/1000/pulse/native /home/willy/Musik/Alarm_Sounds/clock-chimes-daniel_simon.wav
[Install]
WantedBy=multi-user.target

Code: Alles auswählen

~$ systemctl status Bing.service
● Bing.service - Jede Stunde Bimmeln
     Loaded: loaded (/etc/systemd/system/Bing.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Tue 2021-06-22 07:01:34 CEST; 20min ago
TriggeredBy: ● Bing.timer
    Process: 21397 ExecStart=paplay --server unix:/run/user/1000/pulse/native /home/willy/Musik/Alarm_Sounds/clock-chimes-daniel_simon.wav (code=exited, status=0/SUCCESS)
   Main PID: 21397 (code=exited, status=0/SUCCESS)
        CPU: 12ms

Jun 22 07:01:20 XFCE systemd[1]: Started Jede Stunde Bimmeln.
Jun 22 07:01:34 XFCE systemd[1]: Bing.service: Succeeded.

Antworten