「mpc検索」結果を再生するには?

「mpc検索」結果を再生するには?

例:

$ mpc search title "when I was your man" 
Bruno Mars/Unorthodox Jukebox/06 Bruno Mars - When I Was Your Man.mp3

この曲をどのように演奏しますか?パイプを介して接続しようとしましたが、mpc play運がありません。

$ mpc search title "when I was your man" | mpc play

答え1

mpc playファイル名ではなく引数として位置が必要です。プレイリストの正確な場所です。まず、addプレイリストにファイルを追加してから、プレイリストで曲を再生する必要がありますmpcplayしかし、addプレイリストの最後に新しい曲が追加されます。新しく追加された曲の場合は、playプレイリストの長さを知る必要があります。

曲を追加して再生を開始する方法に関するいくつかの提案は次のとおりです。

  1. まず、プレイリストを削除してください。

    mpc clear
    mpc search title "when I was your man" | mpc add
    mpc play
    
  2. 次の項目を挿入して次の項目を再生します。

    mpc search title "when I was your man" | mpc insert
    mpc next
    
  3. 最後に再生されたプレイリストの長さを決定します。

    mpc search title "when I was your man" | mpc add
    mpc play $(mpc playlist | wc -l)
    

答え2

mpd play何をすべきかを見てみましょう。

play <position>
  Starts playing the song-number specified. If none is specified, plays number 1.

ファイル名がで指定されていることがわかりますposition

addidMPDが実行するすべてのコマンド(たとえば)をサポートしていないため、mpcを使用して目的を達成する簡単な方法があるかどうかはわかりません。

プレイリストを維持したくない場合は、次の操作を行います。

mpc clear; mpc search title "when I was your man" | mpc add; mpc play

これによりプレイリストが消去され、目的の曲を追加した後にプレイリストの最初の曲が再生されます。

私が考える最善の方法は、プレイリストに曲を追加して削除せずにその曲を再生することです。

title="your song title here"
mpc search title $title  | mpc add
mpc playlist -f '%position% %title%' | grep -i $title | head -n1 | cut - -d " " -f 1 | xargs mpc play

答え3

以下より簡単な方法があります受け入れられた回答(曲がすでにプレイリストにある場合):

mpc searchplay filename "$(mpc search title 'when I was your man')"

結果がない場合、mpcはプレイリストの最初の曲だけを再生します。

mpcの出力が必要ない場合2>&1 >/dev/null

答え4

この回答は、次の場合に適用されます。複数のトラックを追加(例:アルバム)到着終わり

私たちはゲームで現在の位置を得ることができます:

position="$(mpc status | sed -n -e '/#/ s/^.*#\([[:digit:]]*\/[[:digit:]]*\).*$/\1/p')"
curr="$(<<< "$position" cut -d/ -f1)"
length="$(<<< "$position" cut -d/ -f2)"

次に、検索結果を挿入します。

mpc search title "when I was your man" | mpc insert

そして最初から最後まで再生してみてください。

mpc play "$((length + 1))"

関連情報