Comment puis-je jouer une chanson en arrière-plan via ma ligne de commande?

J’ai installé le play :

 sudo apt-get install sox libsox-fmt-mp3 

Je peux maintenant lire mes fichiers audio comme ceci:

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

Depuis que je suis en train d’apprendre shell, j’aimerais pouvoir faire quelque chose comme ceci:

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

Après 10 secondes, je peux voir l’écran comme:

  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 

Mais la chanson ne joue pas. Mais si je fais ça (sans & ):

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

Fonctionne comme prévu. Mais je ne pouvais pas utiliser mon terminal entre-temps.

Comment puis-je résoudre mon problème avec & ?

La play arrière-plan avec & échoue car le play veut afficher son statut, par exemple

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

mais ne peut pas si elle est en arrière-plan. Donc, il continue d’attendre jusqu’à l’avortement.

Pour résoudre ce problème, lancez simplement play avec le commutateur -q (quiet). Cela réussira en arrière-plan et la play se terminera à la fin de la chanson.

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

Vous pouvez l’arrêter en tapant killall play (si aucune autre instance de lecture n’est en cours d’exécution) ou en kill $! (Si vous n’avez pas mis en arrière-plan d’autres processus dans le même terminal après le début de la lecture, $! vous donne le PID du dernier processus en arrière-plan)

il existe un meilleur moyen d’exécuter des tâches en «arrière-plan» à partir de la ligne de commande.

sudo apt-get install screen

C’est l’un des programmes de ligne de commande les plus astucieux pour Linux. cela vous permet d’avoir quelque chose de similaire aux “tabs dans un navigateur” et de basculer de manière transparente entre eux sans aucune interruption des programmes en cours d’exécution. Ce ne sont pas des tabs dans le programme de terminal lui-même. Mais dans ce shell spécifique, vous avez commencé.

une fois l’installation démarrez-la en tapant

 screen 

dans un terminal.

vous créez de nouveaux “tabs” avec ctrl-A c vous passez à l’onglet suivant avec ctrl-A n

voici un tutoriel plus complet si vous trouvez les pages de manuel difficiles à comprendre

Mes actions Nautilus pour append “Play” et “Stop” au menu contextuel pour les fichiers audio

Pour append la lecture …

Définir une nouvelle action comme suit

“Onglet Action”

  1. Cochez la case “Afficher l’élément dans le menu contextuel de la sélection”
  2. Nouvelle étiquette de contexte d’action = Jouer
  3. Info-bulle = Lecture audio
  4. Icône = lecture-média-début

“Onglet Commande”

  1. Label = Jouer
  2. Chemin = / usr / bin / play -q
  3. Paramètres =% f
  4. (Facultatif W / Effets) Paramètres =% f rate -v vol .25 basses +5 aigus +5 réverbération
  5. Répertoire de travail =% d

“Onglet Exécution”

  1. Case à cocher “Normale”

“Onglet Mimetypes”

  1. Ajouter audio / mpeg
  2. Ajouter audio / flac
  3. Ajouter audio / x-wav

Ou ajoutez plus si nécessaire ou laissez-le seul pour apparaître partout.

Le rest peut être laissé seul.


Pour append un arrêt …

Définir une nouvelle action comme suit

“Onglet Action”

  1. Cochez la case “Afficher l’élément dans le menu contextuel de la sélection”
  2. Label de contexte = Stop
  3. Info-bulle = Arrêter l’audio
  4. Icône = arrêt de la lecture multimédia

“Onglet Commande”

  1. Label = Stop
  2. Chemin = killall
  3. Paramètres = jouer
  4. Répertoire de travail =% d

“Onglet Exécution”

  1. Case à cocher “Normale”

“Onglet Mimetypes”

  1. Ajouter audio / mpeg
  2. Ajouter audio / flac
  3. Ajouter audio / x-wav

Ou ajoutez plus si nécessaire ou laissez-le seul pour apparaître partout.

Le rest peut être laissé seul.

j’utilise

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

vlc est assez omniprésent.

Il y a beaucoup d’acteurs sur le marché. Vous pouvez essayer l’open source qui est opensource et multiplateforme. C’est mplayer. Essayez cette commande pour vérifier si elle est là ou non.

 mplayer --help man mplayer 

Vous verrez le manuel ou la documentation de cette commande. Vous pouvez vous jouer le fichier audio. Vérifiez vos pilotes. Vous devriez avoir des pilotes avant de l’utiliser. Sinon, installez-le avec la commande apt dans Ubuntu 16.04 LTS ou la commande apt-get.

 sudo apt install mplayer 

ou

 sudo apt-get install mplayer 

utilisez-le simplement en tapant mplayer et nom de fichier par la suite.

 mplayer file_path 

Cela a fonctionné pour moi avec mplayer

 nohup mplayer SomeSong.mp4 > /dev/null 2>&1 &