Musik zu best. Zeitpunkt abspielen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
matzes
Beiträge: 11
Registriert: 18.04.2007 17:16:07

Musik zu best. Zeitpunkt abspielen

Beitrag von matzes » 18.08.2007 00:37:36

Hallo,
ich suche nach einer Möglichkeit eine Audiodatei zu einem bestimmten Zeitpunkt abzuspielen.

Mein erster Versuch war:
at 00:00 mplayer datei.mp3
das hat aber irgendwie nicht geklappt.

Kann mir jemand sagen wie man das sonst noch bewerkstelligen könnte? Und warum funktioniert es mit at nicht??

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 18.08.2007 05:10:22

Hallo matzes,

ich kenne mich leider nicht mit at aus, aber mit mplayer und cron geht es.
Das klappt bestimmt auch über sehr viel mehr Wege.

Code: Alles auswählen

fuzzy@deb:~$ cat /usr/local/bin/musik.sh
#!/bin/sh

  /usr/bin/mplayer /home/user/*.mp3

fuzzy@deb:~$ crontab -l
# m h  dom mon dow   command

  0 0 * * * /usr/local/bin/musik.sh
Ich hoffe das hilft Dir erstmal als Grundgerüst, bzw. klappt das bei Dir?

Gruß fuzzy

Benutzeravatar
LessWire
Beiträge: 558
Registriert: 21.11.2004 04:36:04
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bavaria

Beitrag von LessWire » 18.08.2007 05:24:21

Die crontab wäre natürlich nur was, wenn immer wieder zu einem bestimmten Zeitpunkt dieses Stück abgespielt werden soll.

Wenn es nur einmal und z.B. in 2Std. und 12 Min. gespielt werden soll, würde ich einfach

Code: Alles auswählen

sleep 132m; mplayer.....
verwenden (siehe man sleep)

"at" habe ich noch nie verwendet, könnte sein, dass du das Kommando in Hochkommas setzen oder ein Script für den Aufruf erstellen musst.

vg, L.W.
at ~ now.

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 18.08.2007 09:35:24

Hallo matzes,

in dieser Form sollte es gehen:

Code: Alles auswählen

fuzzy@deb:~$ at 10:00
warning: commands will be executed using /bin/sh
at> /usr/bin/mplayer /home/user/*.mp3
at> <EOT>
job 3 at Sat Aug 18 10:00:00 2007
http://www.linuxfibel.de/weiteres.htm

Gruß fuzzy

matzes
Beiträge: 11
Registriert: 18.04.2007 17:16:07

Beitrag von matzes » 18.08.2007 12:02:33

also mit sleep und crontab klappt die sache winderbar. Danke für die Tips

Aber mit at schaff ichs irgendwie nicht...hab auch ein Skript geschrieben und versucht dass dann zu starten, klappt aber auch nicht :cry:

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 18.08.2007 12:37:52

[ctrl][d] bzw.
[Strg][d] ist das Stichwort, dann kommt <EOT> von alleine,
zum beenden von dieser at> ... Geschichten

Ich hoffe das hilft Dir und ist nicht zu verworren... :wink:

bzw. sonst poste bitte einmal, wie deine Kommandozeile aussieht bzw. wie die Ausgaben sind.

Gruß fuzzy

matzes
Beiträge: 11
Registriert: 18.04.2007 17:16:07

Beitrag von matzes » 18.08.2007 14:47:23

das mit <EOT> is schon klar, geht aber trotzdem nicht.

Habe jetzt gerade noch ein bisschen rumprobiert...anscheinend muss ich neben dem kommando auch noch das terminal angeben.

Code: Alles auswählen

matze@debian:~$ at 14:40
warning: commands will be executed using /bin/sh
at> mplayer /home/matze/Desktop/destination.mp3 > /dev/pts/1
at> <EOT>
job 50 at Sat Aug 18 14:40:00 2007
dann öffnet sich zu der bestimmten Zeit zumindest mplayer, bricht dann aber direkt darauf ab:

Code: Alles auswählen

AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   0.0 (00.0) of 223.0 (03:43.0) ??,?%

Exiting... (End of file)
Hab mir dann gedacht, dass at das gleich nach dem ausführen wieder stoppt und deswegen nach dem mplayer aufruf noch ein sleep 3m gehängt.

Code: Alles auswählen

matze@debian:~$ at 14:46
warning: commands will be executed using /bin/sh
at> mplayer /home/matze/Desktop/destination.mp3 > /dev/pts/1
at> sleep 3m > /dev/pts/1
at> <EOT>
job 52 at Sat Aug 18 14:46:00 2007
das hat aber auch nichts geholfen

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 18.08.2007 18:01:05

...also da fällt mir nur noch ein /usr/bin/mplayer statt mplayer... ansonsten habe ich keine Ideen mehr.
/dev/pt.... muss ich wirklich nicht angeben.

Code: Alles auswählen

fuzzy@deb:~$ ps ax | grep [m]player
11415 ? SNL 0:00 /usr/bin/mplayer /home/fuzzy/..........
Gruß fuzzy

yeti

Beitrag von yeti » 18.08.2007 20:38:22

Code: Alles auswählen

echo 'mplayer -quiet peergyn1.mp3 </dev/null >/dev/null 2>/dev/null' | batch
"| batch" kann durch einen at-Befehl mit Argumenten ersetzt werden.

matzes
Beiträge: 11
Registriert: 18.04.2007 17:16:07

Beitrag von matzes » 18.08.2007 21:39:37

mit dem befehl funktioniert es tatsächlich :D

aber kannst du noch kurz sagen was der befehl genau macht? genauergesagt versteh ich zumindest den teil nicht:
</dev/null
wohin genau wird /dev/null da geschickt und was genau bringt das?

yeti

Beitrag von yeti » 19.08.2007 15:38:18

Die Standardeingabe des Programmes wird mit /dev/null verbunden.
Dies ist eventuell nicht nötig, spiel einfach mal damit rum...

Antworten