Làm cách nào tôi có thể phát một bài hát trong nền thông qua dòng lệnh của mình?


13

Tôi đã cài đặt play:

sudo apt-get install sox libsox-fmt-mp3

Bây giờ tôi có thể phát các tệp âm thanh của mình như thế này:

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

Vì tôi đang học shell, tôi ước mình có thể làm một cái gì đó như thế này:

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

Sau 10giây, tôi có thể thấy màn hình như:

 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

Nhưng bài hát không được phát. Nhưng nếu tôi làm điều này (không có &):

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

Đang làm việc như mong đợi. Nhưng tôi không thể sử dụng thiết bị đầu cuối của mình trong khi đó.

Làm thế nào tôi có thể giải quyết vấn đề của tôi, với việc sử dụng &?


5
Nếu bạn chỉ muốn một trình phát CLI để bạn có thể phát âm thanh ở chế độ nền, tôi khuyên bạn nên thử cmus. Nó thậm chí còn có một tập lệnh cmuscrobblercho last.fm và bạn có thể ánh xạ các phím nóng toàn cầu trong hệ thống cửa sổ X thông qua cmus-remote. Hoặc bạn có thể thử sử dụng một tiện ích như screen.
jeremija

cmuslà một chương trình tuyệt vời- Tôi nên mở rộng nhận xét này thành một câu trả lời đầy đủ!

Câu trả lời:


13

Background playvới &thất bại vì playmuốn ra tình trạng của nó, ví dụ:

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

nhưng không thể nếu nền. Vì vậy, nó tiếp tục chờ đợi cho đến khi bị hủy bỏ.

Để giải quyết điều này, chỉ cần chạy playvới công tắc -q(yên tĩnh). Điều này sẽ thành công nền nó và playsẽ chấm dứt khi bài hát kết thúc.

(ngủ 10; chơi -q Máy tính để bàn / SONGS / 01 \ - \ Oh \ Baby \ Girl.mp3) &

Bạn có thể dừng nó bằng cách gõ killall play(nếu không có phiên bản phát nào khác đang chạy) hoặc bằng cách kill $!(nếu bạn không làm nền các quy trình khác trong cùng một thiết bị đầu cuối sau khi bắt đầu phát - $! Cung cấp cho bạn quy trình nền của lần cuối)


Những công việc này. Nhưng làm thế nào bây giờ tôi ngừng chơi bài hát?
Ant

2
Bạn có thể dừng nó bằng cách gõ killall play(nếu không có khác chơi trường hợp đang chạy), hoặc bằng kill $!(nếu bạn chưa backgrounded quá trình khác trong thiết bị đầu cuối cùng sau khi bắt đầu chơi - $!cung cấp cho bạn các PID của tiến trình backgrounded cuối cùng)
ish

3

có một cách tốt hơn để chạy mọi thứ trong "nền" từ dòng lệnh.

sudo apt-get install screen

Đây là một trong những chương trình dòng lệnh tiện lợi nhất cho linux. nó cho phép bạn có một cái gì đó tương tự như "tab trong trình duyệt" và chuyển đổi liền mạch giữa chúng mà không bị gián đoạn các chương trình đang chạy. Nó không phải là tab trong chương trình thiết bị đầu cuối mặc dù. Nhưng trong vỏ cụ thể đó bạn đã bắt đầu.

Sau khi cài đặt, hãy khởi động nó bằng cách gõ

screen 

trong một thiết bị đầu cuối.

bạn tạo "tab" mới bằng ctrl-A c bạn chuyển sang tab tiếp theo với ctrl-A n

Đây là một hướng dẫn kỹ lưỡng hơn nếu bạn thấy các trang man khó hiểu


0

Nautilus của tôi - Hành động để thêm "Phát" và "Dừng" vào menu ngữ cảnh cho các tệp âm thanh

Để thêm ...

Xác định một hành động mới như sau

"Tab hành động"

  1. Hộp kiểm Tick cho "Hiển thị mục trong menu ngữ cảnh lựa chọn"
  2. Nhãn bối cảnh hành động mới = Chơi
  3. Tooltip = Phát âm thanh
  4. Biểu tượng = phương tiện phát lại-bắt đầu

"Tab lệnh"

  1. Nhãn = Chơi
  2. Đường dẫn = / usr / bin / play -q
  3. Tham số =% f
  4. (Tùy chọn W / Hiệu ứng) Tham số =% f Rate -v vol .25 bass +5 treble +5 Reverb
  5. Thư mục làm việc =% d

"Tab thực thi"

  1. Hộp kiểm tra cho "Bình thường"

"Tab Mimetypes"

  1. Thêm âm thanh / mpeg
  2. Thêm âm thanh / flac
  3. Thêm âm thanh / x-wav

Hoặc thêm nhiều hơn nếu cần hoặc để nó một mình để hiển thị ở khắp mọi nơi.

Phần còn lại có thể để một mình.


Để thêm dừng ...

Xác định một hành động mới như sau

"Tab hành động"

  1. Hộp kiểm Tick cho "Hiển thị mục trong menu ngữ cảnh lựa chọn"
  2. Nhãn bối cảnh = Dừng
  3. Tooltip = Dừng âm thanh
  4. Biểu tượng = phương tiện phát lại-dừng

"Tab lệnh"

  1. Nhãn = Dừng
  2. Đường dẫn = killall
  3. Tham số = chơi
  4. Thư mục làm việc =% d

"Tab thực thi"

  1. Hộp kiểm tra cho "Bình thường"

"Tab Mimetypes"

  1. Thêm âm thanh / mpeg
  2. Thêm âm thanh / flac
  3. Thêm âm thanh / x-wav

Hoặc thêm nhiều hơn nếu cần hoặc để nó một mình để hiển thị ở khắp mọi nơi.

Phần còn lại có thể để một mình.


Điều chỉnh khi cần thiết. Chơi với các tùy chọn hiệu ứng, xem trang manx để biết thêm về ... manpages.ubfox.com/manpages/rared/en/man1/sox.1.html
đã xóa

2
Làm thế nào điều này trả lời câu hỏi liên quan đến việc chạy này từ dòng lệnh ? Câu trả lời của bạn dường như là về Nautilus, trình quản lý tệp hỗ trợ GUI. Đó là một câu trả lời hay, nhưng cho một câu hỏi khác.
gertvdijk

Bởi vì đó là một cách nhanh chóng và tuyệt vời để làm điều này mặc dù nó không phải là một câu trả lời dòng lệnh. Không thể tìm thấy một câu hỏi để phù hợp với câu trả lời trong trường hợp này.
đã xóa

0

tôi sử dụng

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

vlc là khá phổ biến.


0

Có rất nhiều người chơi trên thị trường. Bạn có thể thử mã nguồn mở là mã nguồn mở và đa nền tảng. Nó là mplayer. Hãy thử lệnh này để kiểm tra xem nó có ở đó hay không.

mplayer --help 
man mplayer

Bạn sẽ thấy hướng dẫn hoặc tài liệu của lệnh này. Bạn có thể phát cho bạn tệp âm thanh. Kiểm tra trình điều khiển của bạn. Bạn nên có trình điều khiển trước khi sử dụng nó. Nếu bạn không trình phát này cài đặt nó bằng lệnh apt trong Ubuntu 16.04 LTS hoặc lệnh apt-get.

sudo apt install mplayer

hoặc là

sudo apt-get install mplayer

sử dụng nó đơn giản bằng cách gõ mplayer và tên tệp sau đó.

mplayer file_path

0

Điều này làm việc cho tôi với mplayer

nohup mplayer  SomeSong.mp4 > /dev/null 2>&1 &
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.