コマンドライン経由でバックグラウンドで曲を再生するにはどうすればよいですか?


13

私はインストールしましたplay

sudo apt-get install sox libsox-fmt-mp3

オーディオファイルを次のように再生できます。

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

私はシェルを学んでいるので、私はこのようなことをしたいと思います:

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

10秒後、画面は次のように表示されます。

 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

しかし、曲は再生されていません。しかし、私がこれを行う場合(なしで&):

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

期待どおりに動作しています。しかし、その間、端末を使用できませんでした。

を使用してどのように問題を解決でき&ますか?


5
バックグラウンドでオーディオを再生できるようにCLIプレーヤーだけが必要な場合は、を試してみることを強くお勧めしますcmuscmuscrobblerlast.fmのスクリプトもあり、Xウィンドウシステムのグローバルホットキーを経由でマップできますcmus-remote。または、などのユーティリティを使用してみてくださいscreen
jeremija

cmusすばらしいプログラムです。このコメントを完全な回答に拡大する必要があります。

回答:


13

ステータスを出力するため、バックグラウンドplay&失敗playします。たとえば

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

しかし、バックグラウンドではできません。そのため、中止されるまで待機し続けます。

これを解決するには、単純play-q(quiet)スイッチで実行します。これによりバックグラウンドが正常playに終了し、曲が終了すると終了します。

(スリープ10; -q Desktop / SONGS / 01 \-\ Oh \ Baby \ Girl.mp3を再生)&

入力するkillall play(他の再生インスタンスが実行されkill $!ていない場合)か、(再生を開始した後、同じ端末で他のプロセスをバックグラウンドにしたことがない場合-$!により、最後にバックグラウンドになったプロセスのPIDが得られます)


これは動作します。しかし、どうして今では曲の再生をやめるのでしょうか?
アリの

2
あなたのいずれか入力して停止することができますkillall play(他の場合はプレイインスタンスが実行されていない)、またはによってkill $!(あなたが開始した後、同じ端末で他のプロセスをバックグラウンドにしていない場合は再生を - $!あなたの最後のバックグラウンドにプロセスのPIDを与える)
ISH

3

コマンドラインから「バックグラウンド」で物事を実行するより良い方法があります。

sudo apt-get install screen

Linux用の最も気の利いたコマンドラインプログラムの1つです。「ブラウザのタブ」に似たものを用意し、実行中のプログラムを中断することなくシームレスに切り替えることができます。ただし、端末プログラム自体にはタブがありません。しかし、その特定のシェル内で開始しました。

一度インストールしたら、入力して起動します

screen 

ターミナルで。

ctrl-Aで新しい「タブ」を作成するc ctrl-Aで次のタブに切り替えるn

ここにあなたが理解するのは難しいmanページを見つけた場合、より徹底したチュートリアルです


0

オーディオファイルのコンテキストメニューに「再生」と「停止」を追加するためのMy Nautilus-Actions

プレイを追加するには...

次のように新しいアクションを定義します

「アクションタブ」

  1. 「選択コンテ​​キストメニューに項目を表示する」のチェックボックスをオンにしました
  2. 新しいアクションコンテキストラベル=再生
  3. Tooltip =オーディオを再生
  4. アイコン= media-playback-start

「コマンドタブ」

  1. ラベル=再生
  2. パス= / usr / bin / play -q
  3. パラメーター=%f
  4. (オプションのW /エフェクト)パラメーター=%f rate -v vol .25 bass +5 treble +5 reverb
  5. 作業ディレクトリ=%d

「実行タブ」

  1. 「通常」のチェックボックス

「MIMETYPESタブ」

  1. オーディオ/ MPEGを追加
  2. オーディオ/ flacを追加
  3. audio / x-wavを追加します

または、必要に応じて追加するか、そのままにしておき、どこにでも表示します。

残りはそのままにしておくことができます。


ストップを追加するには...

次のように新しいアクションを定義します

「アクションタブ」

  1. 「選択コンテ​​キストメニューに項目を表示する」のチェックボックスをオンにしました
  2. コンテキストラベル=停止
  3. Tooltip =オーディオを停止
  4. アイコン=メディア再生停止

「コマンドタブ」

  1. ラベル=停止
  2. パス= killall
  3. パラメーター= play
  4. 作業ディレクトリ=%d

「実行タブ」

  1. 「通常」のチェックボックス

「MIMETYPESタブ」

  1. オーディオ/ MPEGを追加
  2. オーディオ/ flacを追加
  3. audio / x-wavを追加します

または、必要に応じて追加するか、そのままにしておき、どこにでも表示します。

残りはそのままにしておくことができます。


必要に応じて調整します。もっとその...のためSOXマンページを参照してください、エフェクトのオプションで遊ぶmanpages.ubuntu.com/manpages/raring/en/man1/sox.1.html
削除

2
これはコマンドラインからこれを実行することに関する質問にどのように答えますか?あなたの答えは、GUI対応のファイルマネージャであるNautilusについてのようです。いい答えですが、別の質問です。
gertvdijk

これは、コマンドラインでの回答ではないにもかかわらず、これを行うための迅速でクールな方法だからです。この場合、答えに合う質問が見つかりませんでした。
削除


0

市場には多くのプレーヤーがいます。オープンソースでクロスプラットフォームのオープンソースを試すことができます。mplayerです。このコマンドを試して、存在するかどうかを確認してください。

mplayer --help 
man mplayer

このコマンドのマニュアルまたはドキュメントが表示されます。オーディオファイルを再生できます。ドライバーを確認してください。使用する前にドライバーを用意する必要があります。このプレーヤーをインストールしない場合は、Ubuntu 16.04 LTSのaptコマンドまたはapt-getコマンドでインストールします。

sudo apt install mplayer

または

sudo apt-get install mplayer

その後、mplayerとファイル名を入力するだけで使用できます。

mplayer file_path

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.