Bagaimana saya bisa memutar lagu di latar belakang melalui baris perintah saya?

13

Saya telah menginstal play:

sudo apt-get install sox libsox-fmt-mp3

Sekarang saya dapat memutar file audio saya seperti ini:

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

Karena saya sedang belajar shell, saya berharap bisa melakukan sesuatu seperti ini:

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

Setelah 10detik, saya dapat melihat layar sebagai:

 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

Tapi lagunya tidak diputar. Tetapi jika saya melakukan ini (tanpa &):

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

Bekerja seperti yang diharapkan. Tapi sementara itu saya tidak bisa menggunakan terminal saya.

Bagaimana saya bisa menyelesaikan masalah saya, dengan menggunakan &?

Semut
sumber
5
Jika Anda hanya ingin pemutar CLI sehingga Anda dapat memutar audio di latar belakang, saya sangat menyarankan Anda untuk mencoba cmus. Bahkan memiliki skrip cmuscrobbleruntuk last.fm dan Anda dapat memetakan hotkey global dalam sistem X window via cmus-remote. Atau Anda dapat mencoba menggunakan utilitas seperti screen.
jeremija
cmusadalah program yang bagus - saya harus memperluas komentar ini menjadi jawaban lengkap!

Jawaban:

13

Latar belakang playdengan &gagal karena playingin menampilkan statusnya, mis

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

tetapi tidak bisa jika latar belakang. Jadi terus menunggu sampai batal.

Untuk mengatasinya, jalankan saja playdengan tombol -q(sunyi). Ini akan berhasil melatar belakanginya dan playakan berakhir ketika lagu berakhir.

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

Anda dapat menghentikannya dengan mengetik killall play(jika tidak ada instance play lain yang sedang berjalan), atau dengan kill $!(jika Anda belum melatarbelakangi proses lain di terminal yang sama setelah memulai play - $! Memberi Anda PID dari proses background yang terakhir)

ish
sumber
Ini bekerja. Tapi kenapa sekarang saya berhenti memainkan lagunya?
Semut
2
Anda dapat menghentikannya dengan mengetik killall play(jika tidak ada instance play lain yang sedang berjalan), atau dengan kill $!(jika Anda belum melatar belakangi proses lain di terminal yang sama setelah memulai play - $!memberi Anda PID dari proses latar belakang terakhir)
ish
3

ada cara yang lebih baik untuk menjalankan berbagai hal di "latar belakang" dari baris perintah.

sudo apt-get install screen

Ini salah satu program baris perintah yang paling bagus untuk linux. itu memungkinkan Anda untuk memiliki sesuatu yang mirip dengan "tab di browser" dan beralih mulus di antara mereka tanpa gangguan menjalankan program. Itu tidak tab dalam program terminal itu sendiri. Tetapi dalam shell spesifik yang sudah Anda mulai.

sekali instal, mulailah dengan mengetik

screen 

di terminal.

Anda membuat "tab" baru dengan ctrl-A c Anda beralih ke tab berikutnya dengan ctrl-A n

di sini adalah tutorial yang lebih menyeluruh jika Anda menemukan halaman manual sulit dimengerti

tomodachi
sumber
0

Nautilus-Actions saya untuk menambahkan "Play" dan "Stop" ke menu konteks untuk file audio

Untuk Tambah Mainkan ...

Tetapkan tindakan baru sebagai berikut

"Tab Tindakan"

  1. Centang Centang untuk "Tampilkan item dalam menu konteks pilihan"
  2. Label Konteks Aksi Baru = Mainkan
  3. Tooltip = Mainkan Audio
  4. Ikon = mulai pemutaran media

"Command Tab"

  1. Label = Mainkan
  2. Path = / usr / bin / play -q
  3. Parameter =% f
  4. (Opsional W / Efek) Parameter =% f rate -v vol .25 bass +5 treble +5 reverb
  5. Direktori Kerja =% d

"Tab Eksekusi"

  1. Centang Dicentang untuk "Normal"

"Tab Mimetipe"

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

Atau tambahkan lebih banyak jika diperlukan atau tinggalkan sendiri untuk muncul di mana-mana.

Sisanya bisa dibiarkan sendiri.


Untuk Tambah Berhenti ...

Tetapkan tindakan baru sebagai berikut

"Tab Tindakan"

  1. Centang Centang untuk "Tampilkan item dalam menu konteks pilihan"
  2. Label Konteks = Berhenti
  3. Tooltip = Hentikan Audio
  4. Ikon = berhenti pemutaran media

"Command Tab"

  1. Label = Berhenti
  2. Path = killall
  3. Parameter = bermain
  4. Direktori Kerja =% d

"Tab Eksekusi"

  1. Centang Dicentang untuk "Normal"

"Tab Mimetipe"

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

Atau tambahkan lebih banyak jika diperlukan atau tinggalkan sendiri untuk muncul di mana-mana.

Sisanya bisa dibiarkan sendiri.

dihapus
sumber
Sesuaikan sesuai kebutuhan. Mainkan dengan opsi efek, lihat manual sox untuk lebih lanjut tentang itu ... manpages.ubuntu.com/manpages/raring/en/man1/sox.1.html
dihapus
2
Bagaimana ini menjawab pertanyaan tentang menjalankan ini dari baris perintah ? Jawaban Anda tampaknya tentang Nautilus, pengelola file yang diaktifkan GUI. Ini jawaban yang bagus, tetapi untuk pertanyaan yang berbeda.
gertvdijk
Karena ini cara yang cepat dan keren untuk melakukan ini meskipun itu bukan jawaban baris perintah. Tidak dapat menemukan pertanyaan yang cocok dengan jawaban dalam kasus ini.
dihapus
0

saya menggunakan

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

VLC cukup di mana-mana.

glenn jackman
sumber
0

Ada banyak pemain di pasar. Anda dapat mencoba open source yang merupakan open source dan lintas platform. Itu adalah mplayer. Coba perintah ini untuk memeriksa apakah ada atau tidak.

mplayer --help 
man mplayer

Anda akan melihat manual atau dokumentasi dari perintah ini. Anda dapat memutar file audio Anda. Periksa driver Anda. Anda harus memiliki driver sebelum menggunakannya. Jika Anda tidak menginstal pemutar ini dengan perintah apt di Ubuntu 16.04 LTS atau perintah apt-get.

sudo apt install mplayer

atau

sudo apt-get install mplayer

gunakan saja dengan mengetik mplayer dan nama file setelah itu.

mplayer file_path
Hafiz Shehbaz Ali
sumber
0

Ini bekerja untuk saya dengan mplayer

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