web-development-kb-ko.site

명령 줄에서 밴시를 사용할 수 있습니까?

나는 일반적으로 Banshee 미디어 플레이어를 좋아하고 이미 중요한 음악 라이브러리를 가지고 있습니다.

나는 또한 커맨드 라인을 많이 사용하기 때문에 커맨드 라인에서 밴시를 제어 할 수있는 방법이 있는지 궁금합니다. 에서처럼 :

  • 다음, Prev, Stop, Play 등
  • 어쨌든 GUI의 검색 상자를 사용하는 것처럼 Banshee 데이터베이스를 쿼리하십시오.

없으면 직접 프로그래밍하는 것이 좋았지 만 다른 질문 일 것입니다 :)

12
tutuca

man banshee에 따르면 재생을 제어 할 수 있습니다. 그래도 검색에 대해 잘 모르겠습니다.

다음은 언급 한 컨트롤 중 일부입니다. 자세한 내용은 man 페이지를 확인하십시오.

--next 
    Play the next track, optionally restarting if the 'restart' value is set

--previous 
    Play the previous track, optionally restarting if the 'restart value is set

--stop 
    Completely stop playback

--play 
    Start playback
18
Michael Crenshaw
/usr/bin/banshee --next
/usr/bin/banshee --previous
/usr/bin/banshee --stop
/usr/bin/banshee --play

위의 모든 것을 XFCE에서 키보드 단축키로 사용할 수 있습니다.

X86AudioNext
X86AudioPrev
X86AudioStop
X86AudioPlay
3
Zoltan Breller

Banshee에 대한 인터페이스를 프로그래밍하려는 경우 (banshee --next 또는 기타 제어 플래그를 보내는 기능 이외의 다른 경우. MPD-The Music Player Daemon 이를 통해 자신 만의 인터페이스를 만들거나 MPD를 통해 작동하도록 설계된 Clients 중 하나를 수정/사용할 수 있습니다

2
Marco Ceppi

밴시와 함께 사용할 수있는 명령이 많이 있습니다. 지금은 오랜 시간이 지났지 만 로그인 할 때 스마트 재생 목록을 재생할 수있는 방법을 찾을 수 없기 때문에 작성한 스크립트가 있습니다. 몇 달 전, 그것은 첫 번째 스크립트 중 하나 였고 재미있게 해봤 기 때문에 꽤 나빴습니다. 그 이후로는 시도하지 않았지만 최소한 터미널에서 밴시가 어떻게 사용 가능한지에 대한 예를 제공해야합니다.

   #!/bin/bash
    banshee --hide &
    sleep 3;
    banshee --play;

    while true; do
        pos=`banshee --query-position| sed s/position:\ //| sed s/,.*//`;
        dur=`banshee --query-duration| sed s/duration:\ //| sed s/,.*//`;
        left="$(expr $dur - $pos)";

        rating=`banshee --query-rating|sed s/rating:\ //`;
        isHumour="$(banshee --query-uri|sed s/.*Music//|grep /Humour)";

      if [[ $pos -lt "3" ]] && ([[ $rating -lt "2" ]] || [[ -n "$isHumour" ]]);
      then
        echo "next";
        exec banshee --next &
      else
        echo "sleep for" $left;
        sleep "$left";
        pos=`banshee --query-position| sed s/position:\ //| sed s/,.*//`;
        dur=`banshee --query-duration| sed s/duration:\ //| sed s/,.*//`;
        left= expr $dur - $pos;
        echo $left;
    fi;
    sleep 0.0001;
    done;
    exit 0;

도움이 되길 바랍니다. 혼란 스러우면 죄송합니다.

1
sinekonata