13

I am trying to be able to play, pause, chose next track or previous track from command line, but unfortunately no one seems to know how to do this (I have goggled repeatedly). I need it to be a command so that I can use it with blue proximity, so pause when I walk away. Are there any commands for this?

Braiam
  • 66,947
  • 30
  • 177
  • 264
Tim
  • 32,274
  • 27
  • 118
  • 177
  • in gnome with favorite menu http://unix.stackexchange.com/questions/316366/spotify-controls-next-previous-etc-via-context-menu-in-gnome-favorites – Ronan Quillevere Jan 27 '17 at 13:59

4 Answers4

17

The Spotify client has supported the MPRIS2 DBUS specification for ~4 years. Simply put this means most media remote controls should be able to control it.

If you need command-line access, you can talk to it directly over DBUS. Here's an example I stole from Fran Diéguez:

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause

For more commands, see the MPRIS2 Player specifications.

Anthony Geoghegan
  • 1,386
  • 14
  • 20
Oli
  • 289,791
  • 117
  • 680
  • 835
  • `Play` is in the specs. It *should* work. – Oli Jul 06 '14 at 16:21
  • Yeah, just realised... Not sure why it isn't... `PlayPause` does work. Can you test it to see if it is just my computer or do you not have it? – Tim Jul 06 '14 at 16:24
  • 1
    @Tim: `Play` doesn't work for me, either. Latest Spotify release here. – Glutanimate Jul 06 '14 at 16:38
  • 1
    I can't even get Spotify on this laptop. I would guess they've just been lazy (seriously, it would have taken them a minute to implement) and they've skipped separate Play and Pause commands. – Oli Jul 06 '14 at 16:44
  • 2
    @Oli: Probably. But then again from what I understand the Linux client is only developed one dev in their free-time. It's not officially supported by Spotify. With that in mind I can live with little faults like this – Glutanimate Jul 06 '14 at 17:04
  • 1
    Weird, the specs doesn't say "should", "must", etc. – Braiam Jul 06 '14 at 17:49
  • @Braiam specs specify what should be implemented so any third party interface can use it. That's the point of them. – Oli Jul 06 '14 at 17:51
  • It works! I can use commands like Play, Pause, Previous, Next, etc. – Piotr Wittchen Jan 07 '17 at 17:51
9

The following command works for me (Play or Pause):

qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
guymac
  • 191
  • 1
  • 1
2

SP is a simple and effective command line tool to control spotify. It uses DBUS internally.

To install:

curl https://gist.githubusercontent.com/wandernauta/6800547/raw/db881a9100eb9b1e684c99962bde086a47ebcf08/sp | sudo tee /usr/local/bin/sp
sudo chmod +x /usr/local/bin/sp
cmc
  • 182
  • 1
  • 10
  • This looks neat - does it do any extras than DBUS? (e.g. more advanced play pause than just the toggle?). It's neat to see things like this, though! – Tim Jan 13 '16 at 14:58
  • @Tim Nope, simple stuff only. You could probably extend it if you know a little bash. – cmc Jan 13 '16 at 17:55
1

DBus commands for controlling spotify (from here), working for me on 17.10:

Play

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Play

Pause

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause

Play/Pause toggle

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

Previous

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous

Next

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next

I have bound play/pause toggle to F12 in gnome.

Tim
  • 32,274
  • 27
  • 118
  • 177
htaccess
  • 1,398
  • 10
  • 16