webentwicklung-frage-antwort-db.com.de

Wie kann ich ein Lied über meine Kommandozeile im Hintergrund abspielen?

Ich habe play installiert:

Sudo apt-get install sox libsox-fmt-mp3

Ich kann jetzt meine Audiodateien wie folgt abspielen:

play Desktop/SONGS/01\ -\ Oh\ Baby\ Girl.mp3

Da ich Shell lerne, wünschte ich mir, ich könnte so etwas tun:

 (sleep 10 ; play Desktop/SONGS/01\ -\ Oh\ Baby\ Girl.mp3 ) &

Nach 10 Sekunden sehe ich den Bildschirm wie folgt:

 File Size: 7.38M     Bit Rate: 260k
  Encoding: MPEG audio    Info: 2012
  Channels: 2 @ 16-bit   Track: 01/09
Samplerate: 44100Hz      Album: Maalai Pozhudhin Mayakathilaey :::tunesinn.blogspot.com:::
Replaygain: off         Artist: Hemachandra, Achu
  Duration: 00:03:46.98  Title: Oh Baby Girl

Aber das Lied spielt nicht. Aber wenn ich das mache (ohne &):

(sleep 10 ; play Desktop/SONGS/01\ -\ Oh\ Baby\ Girl.mp3 ) 

Funktioniert wie erwartet. Aber ich konnte mein Terminal in der Zwischenzeit nicht benutzen.

Wie könnte ich mein Problem mit & lösen?

13
Ant's

Die Hintergrundverarbeitung von play mit & schlägt fehl, weil play seinen Status ausgeben möchte, z.

In:12.7% 00:00:27.31 [00:03:07.52] Out:1.20M [!=====|=====!] Hd:0.0 Clip:0  

kann aber nicht, wenn im Hintergrund. Also wartet es, bis es abgebrochen wird.

Um dies zu lösen, führen Sie einfach play mit dem Schalter -q (leise) aus. Dies wird erfolgreich im Hintergrund ausgeführt und play wird beendet, wenn der Song endet.

(Schlaf 10; Spiel -q Desktop/SONGS/01\-\Oh\Baby\Girl.mp3) &

Sie können es stoppen, indem Sie killall play eingeben (wenn keine anderen Wiedergabeinstanzen ausgeführt werden) oder indem Sie kill $! eingeben (wenn Sie nach dem Start von play - $! Sie die PID des letzten Hintergrundprozesses)

13
ish

es gibt eine bessere Möglichkeit, Dinge im "Hintergrund" über die Befehlszeile auszuführen.

Sudo apt-get install screen

Es ist eines der geschicktesten Kommandozeilenprogramme für Linux. Es ermöglicht Ihnen, etwas Ähnliches zu "Registerkarten in einem Browser" zu haben und nahtlos zwischen ihnen zu wechseln, ohne laufende Programme zu unterbrechen. Es gibt jedoch keine Registerkarten im Terminalprogramm. Aber in dieser speziellen Shell haben Sie begonnen.

nach der Installation starten Sie es durch Eingabe

screen 

in einem Terminal.

mit Strg-A c erstellen Sie neue "Tabs". Mit Strg-A n wechseln Sie zum nächsten Tab

hier ist ein ausführlicheres Tutorial, wenn Sie die Manpages schwer verstehen

3
tomodachi

Meine Nautilus-Aktionen zum Hinzufügen von "Play" und "Stop" zum Kontextmenü für Audiodateien

Zum Hinzufügen der Wiedergabe ...

Definieren Sie eine neue Aktion wie folgt

"Action Tab"

  1. Kontrollkästchen Aktiviert für "Element im Auswahlkontextmenü anzeigen"
  2. New Action Context Label = Spielen
  3. Tooltip = Audio abspielen
  4. Icon = Start der Medienwiedergabe

"Befehlsregisterkarte"

  1. Label = Abspielen
  2. Pfad =/usr/bin/play -q
  3. Parameter =% f
  4. (Optionale W/Effekte) Parameter =% f Rate -v Vol. 25 Bässe + 5 Höhen + 5 Hall
  5. Arbeitsverzeichnis =% d

"Registerkarte" Ausführung ""

  1. Kontrollkästchen für "Normal" angekreuzt

"Mimetypes Tab"

  1. Hinzufügen Audio/MPEG
  2. Hinzufügen Audio/Flac
  3. Hinzufügen Audio/X-WAV

Oder fügen Sie bei Bedarf mehr hinzu oder lassen Sie es in Ruhe, um überall zu erscheinen.

Der Rest kann in Ruhe gelassen werden.


Stop hinzufügen ...

Definieren Sie eine neue Aktion wie folgt

"Action Tab"

  1. Kontrollkästchen Aktiviert für "Element im Auswahlkontextmenü anzeigen"
  2. Kontextbezeichnung = Stopp
  3. Tooltip = Audio stoppen
  4. Icon = Medienwiedergabe-Stopp

"Befehlsregisterkarte"

  1. Label = Stop
  2. Pfad = killall
  3. Parameter = spielen
  4. Arbeitsverzeichnis =% d

"Registerkarte" Ausführung ""

  1. Kontrollkästchen für "Normal" angekreuzt

"Mimetypes Tab"

  1. Hinzufügen Audio/MPEG
  2. Hinzufügen Audio/Flac
  3. Hinzufügen Audio/X-WAV

Oder fügen Sie bei Bedarf mehr hinzu oder lassen Sie es in Ruhe, um überall zu erscheinen.

Der Rest kann in Ruhe gelassen werden.

0
deleted

Es gibt viele Spieler auf dem Markt. Sie können Open Source ausprobieren, also Open Source und plattformübergreifend. Es ist mplayer. Probieren Sie diesen Befehl aus, um zu überprüfen, ob er vorhanden ist oder nicht.

mplayer --help 
man mplayer

Sie sehen das Handbuch oder die Dokumentation dieses Befehls. Sie können die Audiodatei abspielen. Überprüfen Sie Ihre Treiber. Sie sollten Treiber haben, bevor Sie es verwenden. Wenn Sie dies nicht tun, installieren Sie diesen Player mit dem Befehl apt in Ubuntu 16.04 LTS oder mit dem Befehl apt-get.

Sudo apt install mplayer

oder

Sudo apt-get install mplayer

verwenden Sie es einfach, indem Sie mplayer und den Dateinamen danach eingeben.

mplayer file_path
0

Ich benutze

cvlc --play-and-exit "$filename" &>/dev/null &

vLC ist ziemlich allgegenwärtig.

0
glenn jackman

Das hat bei mir mit mplayer geklappt

Nohup mplayer  SomeSong.mp4 > /dev/null 2>&1 &
0
brandon