2012-11-28 14 views
5

Ich mache einen greifbaren Controller für Spotify (wie der von Jordi Parra, http://vimeo.com/21387481#at=0) mit einem Arduino-Mikrocontroller.Controlling Spotify durch Verarbeitung/Arduino

Ich habe eine Verarbeitung Skizze ausgeführt, die alle Berechnungen mit den Daten aus dem Arduino ausführt. Ich möchte, dass diese Verarbeitungsskizze verschiedene Optionen in Spotify steuern kann: Weiter, Zurück, Wiedergabe/Pause, Lauter/Leiser, Zufall.

Im Moment benutze ich einen zusätzlichen Arduino Leonardo, der Tastenbetätigungen simuliert, während AutoHotKey diese abhört und sie an Spotify sendet. Es funktioniert nicht sehr gut und ich habe nur begrenzte Möglichkeiten.

Ich würde gerne diese zusätzlichen Arduino loswerden, während mehr Kontrolle bekommen. Ich arbeite an einer Windows-Sache so Apple-Skript wird nicht funktionieren (für mich).

Gibt es eine Möglichkeit, die Spotify-App über die Verarbeitung zu steuern? Oder ist es möglich, die Bibliothek zu verwenden, um eine neue Spotify-App in Processing zu erstellen?

Vielen Dank im Voraus!

Paul

Antwort

5

Haftungsausschluss: Ich arbeite bei Spotify

Im Moment gibt es keine plattformübergreifende Art und Weise die Spotify-Anwendung zu steuern. Unter Linux reagiert Spotify auf dbus-Befehle, was bedeutet, dass ein bisschen Hacking play/pause/next/previous senden kann. Ich habe gehört, dass es auch möglich ist, Spotify auf Mac OSX über applescript zu steuern, aber ich bin mir nicht 100% sicher. Eine schnelle Google-Suche nach "control spotify mac os x applescript" brachte einige interessante Ergebnisse, obwohl ich mir nicht sicher bin, wie aktuell oder relevant sie sind. Was Windows angeht, bin ich mir nicht sicher, ob/wie man die Anwendung überhaupt kontrollieren würde.

Andernfalls wäre Ihre beste Wette libspotify, für die Sie eine Processing-Bibliothek schreiben müssten, um damit zu kommunizieren. Basierend auf ein wenig schneller Recherche, scheint es, dass Processing-Bibliotheken in Java geschrieben sind, was bedeutet, dass Sie entweder einen Wrapper wie jlibspotify verwenden oder Ihren eigenen JNI-Wrapper für libspotify manuell rollen müssen.

Ich bin nicht sicher, wie aktuell jlibspotify ist, da sie eine ziemlich alte Version der Bibliothek einpacken. Wenn Sie libspotify hacken, ist es besser in C/C++ mit einem minimalen JNI-Wrapper, aber all dies kann viel mehr Arbeit sein, als Sie für dieses Projekt beabsichtigen.

0

Warum die Spotify-Tastaturintegration nicht nutzen?

Der Arduino Leonardo unterstützt den USB HID-Modus. Senden Sie also die Tastaturtasten für Next, Previous, Play/Pause, Volume Up/Down, Shuffle.

Fast alles hat einen einzigen gebundenen globalen Schlüssel. Ich glaube nur shuffle nicht. Sie könnten einen globalen Hotkey in Ihrem Betriebssystem erstellen, um ihn an den Shuffle Control-Schlüssel der App zu binden.

Wenn Sie nach Status-Feedback zum Status der einzelnen Schaltflächen suchen, wird Ihnen das natürlich nicht weiterhelfen.

Viel Glück.