こんにちはHabramens、
IchBin's。 すべては、
last.fmラジオのサポートが
MPDで非常に不器用に実装されていたため、この関数のコンパイルを停止したという事実から始まりました。 その不器用さは、サーバーがリクエストごとに5つのトラックを提供するため、チャンネルにチューニングした後、プレイリストにトラックを手動で追加する必要があるという事実にあります。 したがって、すべてのトラックが失われた後、リクエストを繰り返して次の5つのトラックを取得する必要があります! 次に、このプロセスを自動化するスクリプトについて説明します。
Bash.fm-ベアリングの作業
ここでオリジナルのアイデアが見つかりまし
た 。 リンク上のスクリプトは長い間古く、機能しませんでした。 さらに、スクリプトの作成者は非常に独特なスタイルを持ち、たとえばlynxに不要な依存関係を追加することができました。 したがって、作業のロジックは同じままですが、ほとんど変更する必要がありました。
- fmstartでセッションを初期化する
- fmpersonal、fmart、...を使用してチャンネルにチューニングします。
- fmgetを使用して、チャンネルからプレイリストにトラックを追加します(呼び出しごとに5トラック)
- 利益!
fmstartから始めましょう。
root@Buffalo:~
スクリプトが正しく機能するためには、最初に〜/ .bashfmファイルを次の内容で作成する必要があります。
root@Buffalo:~
ここで、ユーザー名とパスワードは
last.fmのユーザー名とパスワードであり、mediaplayerはトラックをプレイリストに追加するコマンドです。
fmstartを初めて起動すると、パスワードが削除され、md5の量に置き換えられます。
小さな余談:MPCは、コマンドラインの標準MPDクライアントです。 しかし、私はそれをコンパイルしませんが、1行でスクリプトを使用します。
root@Buffalo:~
このスクリプトはMPCの完全な類似物ではありませんが、私のニーズには常に十分でした。
次に、チャネルを選択するためのスクリプトについて説明します。 実際、それらはすべて同じであり、内部のチャネルURLのみが異なります。 私は個人のラジオまたは特定のアーティストのラジオを聴きます。したがって、以下ではこれら2つのスクリプトのみを紹介します。
パーソナルラジオチャネルアクティベーションスクリプト:
root@Buffalo:~
成功すると、スクリプトは以下を生成します。
root@Buffalo:~
アーティストのアクティベーションスクリプトは次のようになります。
root@Buffalo:~
実行結果:
root@Buffalo:~
チャンネルにチューニングすることにより、fmgetを使用して、チャンネルからプレイリストにトラックを追加できます。
root@Buffalo:~
仕事の結果:
root@Buffalo:~
結果のトラックへのリンクはmp3ファイルへのリンクであるため、MPDだけでなく任意のプレーヤーにフィードできます。 〜/ .bashfmファイルのmediaplayerパラメーターを置き換えるだけで十分です。
私が伝えたかったのはそれだけです。 プレイリストにトラックを追加するプロセスの自動化については、このスクリプトを宿題としてお任せします。 ここでは、fmgetを+100500回呼び出すか、ループ呼び出し「mpc status」で応答を解析し、nextsong == playlistlengthの場合、fmgetを呼び出します。
おまけに、ここまで習得したら、好奇心c盛な友人に、この記事のすべてのスクリプト
を1本のボトルに入れます