Un artículo interesante que arroja luz sobre como funcionan ALSA y
PulseAudio.
Gracias Gesala.

El jue, 12 sept 2024, 16:50, Camaleón <[email protected]> escribió:

> El 2024-09-11 a las 19:35 +0200, Diego Bote escribió:
>
> > Buenas tardes.
> > Pues sigue abierto el asunto, porque ya funciona correctamente cuando
> estoy
> > dentro del sistema, esto es, he hecho login, pero no cuando no estoy
> dentro
> > del sistema, pues me lanza este error.
>
> Eso se debe a que la variable de entorno que has definido en la tarea
> de crontab se define cuando has iniciado una sesión gráfica («XDG_»).
>                                                               ^
>
> Al no haber iniciado sesión, el problema originario ha vuelto.
>
> > Failed to create secure directory (/run/user/1000/pulse): No such file or
> > directory
> > ...
> > SDL_OpenAudio (2 channels, 48000 Hz): ALSA: Couldn't open audio device:
> Host is down
> > SDL_OpenAudio (1 channels, 48000 Hz): ALSA: Couldn't open audio device:
> Host is down
> > SDL_OpenAudio (2 channels, 44100 Hz): ALSA: Couldn't open audio device:
> Host is down
> > SDL_OpenAudio (1 channels, 44100 Hz): ALSA: Couldn't open audio device:
> Host is down
> > No more combinations to try, audio open failed
> > Failed to open file '/home/diego/parler-du-programme-de-julie.mp3' or
> configure filtergraph
>
> > el ejecutar la línea de cron
> > 11 19 * * * XDG_RUNTIME_DIR=/run/user/$(id -u) /usr/bin/ffplay -t 20
> -nodisp -autoexit /home/diego/musica.mp3
> > ¿Alguna ayuda?
>
> Pues tendrás que ver la forma de que Pulsaudio se inicie sin hacer
> «login» (p. ej., se me ocurre ejecutarlo en modo servidor, pero quizá
> sea excesivo y cargue muhco el sistema).
>
> También puedes probar la alterniva que comentan en la wiki de Archlinux
> («machinectl»):
>
> ****
> 9.2 Play sound from a non-interactive shell (systemd service, cron)
>
> https://wiki.archlinux.org/title/PulseAudio#Play_sound_from_a_non-interactive_shell_(systemd_service,_cron)
>
> Set XDG_RUNTIME_DIR before the command (replace user_id with the ID of
> the user running PulseAudio):
>
> $ XDG_RUNTIME_DIR=/run/user/user_id paplay
> /usr/share/sounds/freedesktop/stereo/complete.oga
>
> Or use machinectl:
>
> # machinectl shell .host --uid=user_id /usr/bin/paplay
> /usr/share/sounds/freedesktop/stereo/complete.oga
> ****
>
> O «pasar» (omitir) completamente de Pulseaudio (alternativas: Jackd,
> PipeWire, ALSA...) :-)
>
> Saludos,
>
> --
> Camaleón
>
>

Responder a