J'utilise cette commande pour jouer de la musique en arrière-plan (sans interface graphique):
mplayer -shuffle -playlist /home/geppettvs/NAS/Musica/playlist.m3u </dev/null >/dev/null 2>&1 &
Il en résulte que la musique est collectée à partir du dossier Musique dans un NAS, qui est lu en arrière-plan.
La liste de lecture elle-même est simplement un fichier de liste de lecture créé avec Rhythmbox ou tout autre logiciel de lecture de musique avec la possibilité de gérer des listes de lecture.
Ainsi, mplayer commence par une chanson aléatoire, après quoi il continue à jouer de la musique sans interruption.
Ce dont j'ai besoin, c’est d’interroger mplayer et de lui demander le nom de la chanson en cours de lecture afin de la placer quelque part, disons: écrivez-la dans un fichier texte pour une utilisation ultérieure. (Juste le nom du fichier sans chemin)
À l’heure actuelle, une fois que mplayer commence à jouer de la musique à partir de la liste de lecture, certains efforts pour interroger ce qu’il lit en cours se traduiront par "playlist.m3u" comme nom du titre au lieu du nom de fichier mp3 actuel.
Je suis ouvert à toutes les alternatives, tant qu'il existe une meilleure façon de le faire sans interface graphique. Faites le moi savoir et je vais l'essayer. Toutes les idées sont les bienvenues.
Quelque chose comme ce script fou devrait fonctionner:
lsof -c mplayer | fgrep ".mp3" | awk -F"/" '{ print $NF; }' | cut -d'.' -f1
Fondamentalement, cela fonctionne de la manière suivante:
Alors maintenant, vous avez un moyen de récupérer les chansons d’un mplayer.
Notez que mplayer doit être en cours d'exécution pour que cela fonctionne, car lsof vérifie les fichiers ouverts.