Es ist schon sehr lange her, seit ich mit MPD-Scripting gespielt habe. Da Cantata über eine dBus-Schnittstelle verfügt, sollte ich nicht zu schwer tun, was Sie wollen. Es führt Sie jedoch in das Land der merkwürdigen dbus-Steuerungen.
Ein Teil der Antwort ist, dass -idle nicht dazu führt, dass mplayer versucht, sich erneut mit Ihrer Streaming-Quelle zu verbinden. Es verhindert nur, dass mplayer beendet wird.
Das heißt nicht, dass das, was Sie suchen, nicht getan werden kann. Es ist wahrscheinlich erforderlich, dass Sie ein wenig externes Scripting benötigen, um die Neuverbindung von mplayer auszulösen. Führen Sie auf jeden Fall Folgendes aus, um die Fernsteuerung von mplayer zu aktivieren:
mkfifo /home/you/.mplayer/cmd.fifo mplayer -idle -input file=/home/you/.mplayer/cmd.fifo
Danach können Sie jedes Mal, wenn Sie etwas Ähnliches wie das folgende ausführen, veranlassen, dass sich mplayer erneut verbindet.
echo "loadfile http://yourserver.com:8000/yourstream.mp3" >> /home/you/.mplayer/cmd.fifo
Dies ist ungefähr so weit, wie ich es ertragen kann, ohne mit der Dbus-Schnittstelle von Cantata zu spielen. Ein bisschen Forschung sollte zeigen, was nötig ist.
Hinweis: Wenn Sie den Befehl loadfile ausführen, während ein Stream abgespielt wird, führt dies zu einer merklichen Unterbrechung des Audios.
Es kann auch wert sein, hier zu beachten: Sind MPD, mplayer und Cantata alle auf derselben Box oder auf separaten Systemen?
Hoffe das hilft.