mp3ファイルをダウンロードしてすぐに再生

mp3ファイルをダウンロードしてすぐに再生

これら2つのコマンドを1つのスクリプトに結合するにはどうすればよいですか?

$ wget http://mymusic.store.com/musicfoo.mp3
#file gets saved as musicfoo.mp3
$ mplayer musicfoo.mp3

wgetはファイルのデフォルト名/拡張子(インターネットなど)を使用してファイルをディスクに保存しようとします。私の場合はmp3ファイルです。 mplayerはこのファイルをパラメータとして再生します。

これをスクリプトに統合する方法についてのアイデアはありますか?

ベストアンサー1

ファイルを直接再生

これらのファイルを再生する前にダウンロードする必要はありませんmplayermplayerマニュアルページから:

抜粋

  mplayer [options] [file|URL|playlist|-]

したがって、mplayerはURLを直接再生できます。

はい

$ mplayer http://mymusic.store.com/musicfoo.mp3

パフォーマンス

コンテンツをシームレスに再生するには、キャッシュ値を調整する必要がありますmplayermplayerこれを達成するためのスイッチがあります。

mplayerのマニュアルページから

-cache <kBytes>
    This option specifies how much memory (in kBytes) to use 
     when precaching a file or URL. Especially useful on slow media.

-cache-min <percentage>
   Playback  will  start when the cache has been filled up to 
   <percentage> of the total.

だから、おそらくこれらの値を使用して状況に応じてシームレスな再生を得ることができます。

$ mplayer -cache 8000 -cache-min 30 http://mymusic.store.com/musicfoo.mp3

ダウンロードとプレイ

別の回答で議論された別の方法は、wgetダウンロードを使用してファイルを再生することです。このアプローチの本質的な問題は、ファイルのダウンロードが完了した後にファイル名を再生することです。

mplayerへのカールパイプの接続

実際、このアプローチには2つの技術があります。最初は、またはwgetを使用してダウンロードを開始し、curlデータをmplayer

はい

$ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -

以前と同様に、ここからダウンロードをキャッシュすることもできます。

$ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -cache 8192 -

まずカールをしてからmplayerを使います。

別の方法は、ファイルをダウンロードして再生することです。これで、Bash機能を使用してそれをラップできます。これで、ファイルを完全にダウンロードして再生する2段階のプロセスになります。

はい

$ function smplayer() { wget $@ && mplayer $(basename $@); }

その後、ダウンロードしてプレイするには、次の機能を実行する必要があります。

$ smplayer http://mymusic.store.com/musicfoo.mp3

おすすめ記事