Hallo,
ich weiß, es klingt bekannt, nur habe ich trotz fast zweiwöchiger Suche leider keine Antwort darauf gefunden. Bitte erst lesen und verstehen. Dies nur um den obligatorischen "Suche..."-Buttons vorzugreifen.
Ich möchte den Windows Media Player aus einem Delphi-Programm heraus steuern und Daten auslesen. Um genau zu sein folgende Funktionen: Play/Pause, Stop, Vor, Zurück, FastForward, FastRewind, Lautstärke hoch, Lautstärke runter selbst "drücken" und Infos zurückbekommen wie Titel, Artist, currentPosition (oder so).
Jetzt kommt aber das Knifflige: Ich möchte keinen eigenen Player bauen und auch nicht einen Player in meine Applikation "hiefen". Es geht nur um die Steuerung und das Auslesen eines WMP, der zur gleichen Zeit wie mein Programm läuft. Ich möchte bewusst den Windows Media Player (10) benutzen, obwohl ich weiß, dass es mit Winamp einfacher und bereits tausendmal realisiert ist.
Da ich mich nicht zu den Faulen oder Dummen zähle folgende Lösungsansätze:
Steuerung:
1. SENDMESSAGE: wäre elegant, wenn man wüsste, welche Befehle gesendet werden müssen. Da ich aber keine Applikation kenne, die es schon kann, kann ich auch nirgendwo spionieren (soviel zu xspy)
2. Multimedia-Tasten: Die Tasten auf den Multimedia-Keyboards können das schon - aber was tun die genau?
Auslesen:
1. "Rangieren" über Plugins: Ich habe ein Plugin für den WMP gefunden, dass Titel und Interpret in eine Textdatei schreibt. Diese kann man auslesen und bekommt so wenigsten einen Teil der gewünschten Informationen
2. Hier bin ich mir nicht ganz sicher: Schreibt der WMP seine Informationen nicht irgendwo hin? Wüsste man das, könnte man sie abfragen...
Lösung in .NET
Klar, recht einfach WMP.dll einbinden, aus der WMPlib IWMPControls wie play(), next(), currentPosition : double verwenden. Totschick! Dummerweise habe ich von den dort verwendeten Sprachen (noch) keinen Schimmer
Aber es muss doch möglich sein, die WMP.dll auch unter Delphi zu verwenden, oder? Wie mache ich das?
Adam Coulthard hat es offenbar schon in Delphi geschafft (hat ein Plugin für ein Desktop-Programm geschrieben). Also ist es nicht unmöglich. Leider antwortete er nich auf meine email...
Ich hoffe, ihr könnt mir hier weiterhelfen oder mich zumindest mit der Nase auf die richtige Fährte stumpen.
Vielen Dank vorab und viele Grüße
Zfennn
(wie man's spricht, mit 3x N)
...ja, genau.