Laden...

Mediensteuerung ("Play" simulieren)

Erstellt von Akhanto vor 10 Jahren Letzter Beitrag vor 10 Jahren 2.560 Views
A
Akhanto Themenstarter:in
28 Beiträge seit 2012
vor 10 Jahren
Mediensteuerung ("Play" simulieren)

Hi,
ich suche momentan vergeblich nach einer Möglichkeit einen Play/Pause/Stopp/Weiter Befehl an ein Musikprogramm zu senden.
Hintergrund ist, dass es bei Spotify nicht möglich ist, einen Autoplay einzustellen und ich würde es gerne morgens als eine Art Wecker nutzen.
Ich möchte einfach ein kleines Programm schreiben, dass bei Aufruf ein Play sendet (wie, wenn man auf der Tastatur auf den Play Knopf drückt).

Meine Suche nach Begriffen, wie "Mediensteuerung" oder "Musik steuern" haben lediglich auf DLNA, abspielen von MP3s oder die Steuerung vom Windows Media Player hingewiesen, das hilft aber eben nicht... Wenn es möglich ist, mit einer Tastatur zu steuern, muss es doch mit C#/API möglich sein.

Vielen Dank
Akhanto

U
189 Beiträge seit 2011
vor 10 Jahren

Wenn du mit SendKey arbeitest sollte Keys Enumeration weiterhelfen. Name des Keys ist "MediaPlayPause"

A
Akhanto Themenstarter:in
28 Beiträge seit 2012
vor 10 Jahren

Der "Umweg" über die Simulation von Tasten war mir zwar von vorn herein irgendwie nicht ganz recht, ich hab es aber dennoch probiert und bin gescheitert.

Ein einfaches Windows Forms Testprogramm mit einem Button und einem

SendKeys.SendWait("MediaPlayPause");

reagiert nicht.

Auch ein, wie es im Beispiel der MSDN Doku stand:

SendKeys.SendWait("{MediaPlayPause}");

läuft nicht.

Ich bin mir aber auch irgendwie sicher, dass es da etwas "direkteres" und systemnäheres gibt, ich finde es schlicht und einfach nicht...

Trotzdem Danke für den Tip und für alle weiteren Hilfen!

P
660 Beiträge seit 2008
vor 10 Jahren

Morgen,

mal ne ganz einfache und dumme frage: Hat die Anwendung, der du die Simulierten Tasten übergeben möchtest, den Fokus?

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"

16.842 Beiträge seit 2008
vor 10 Jahren

Ich bin mir aber auch irgendwie sicher, dass es da etwas "direkteres" und systemnäheres gibt, ich finde es schlicht und einfach nicht...

Naja. Dein Play Button ist ein Globaler Hotkey. Anwendungen wie WMP oder Spotify registrieren sich am System so, dass sie die HotKeys bekommen.
Du willst aber nun einen HotKey senden. Das sind halt schon zwei völlig verschiedene Dinge.

Damit Du einen HotKey senden kannst, musst Du das Window ermitteln (PInvoke FindWindow), dann das Fenster in den Vordergrund setzen (Pinvoke SetForegroundWindow) und dann kannst Deinen HotKey senden.
Um das ganze Zeugs etwas zu vereinfachen gibts auch einen Wrapper: http://inputsimulator.codeplex.com/

64 Beiträge seit 2012
vor 10 Jahren

(:::

++Rekursion ++
(lat. , die) siehe Rekursion

L
416 Beiträge seit 2008
vor 10 Jahren

Warum nicht mal nach "C# Spotify" suchen?
Zb spotify local api

A
Akhanto Themenstarter:in
28 Beiträge seit 2012
vor 10 Jahren

Vielen Dank @Abt. Ich denke, das ist genau, was ich suche!

@Lennart: Die Spotify API wollte ich nicht nutzen, weil ich das Programm ja vielleicht auch mal für andere Anwendungen nutzen will...