예:
$ 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
재생 목록에 파일을 추가한 다음 재생 목록에서 노래를 재생해야 합니다 mpc
. play
하지만 add
재생 목록 끝에 새로운 노래가 추가됩니다. 새로 추가된 노래 의 경우 play
재생 목록의 길이를 알아야 합니다.
노래를 추가하고 재생을 시작하는 방법에 대한 몇 가지 제안 사항은 다음과 같습니다.
먼저 재생목록을 삭제하세요.
mpc clear mpc search title "when I was your man" | mpc add mpc play
다음 항목을 삽입하고 다음 항목을 재생합니다.
mpc search title "when I was your man" | mpc insert mpc next
마지막으로 재생된 재생 목록의 길이를 결정합니다.
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
.
addid
MPD가 수행하는 모든 명령(예 : ) 을 지원하지 않기 때문에 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))"