Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi WMP aktueller Titel? (https://www.delphipraxis.net/79070-wmp-aktueller-titel.html)

Knotti 15. Okt 2006 21:36


WMP aktueller Titel?
 
Hallo Leute,

ich hab schon Google-Groups und auch die Suche befragt.
Mein Problem wie finde ich den aktuellen Titel / Dateinamen heraus der gerade im Windows Media Player läuft. Vielleicht ist es einfacher für den Player nen Plugin zu schreiben was den Dateinamen in eine txt Datei speichert und ich es dann in Delphi einlese..

Knotti 16. Okt 2006 12:13

Re: WMP aktueller Titel?
 
Keiner ne Idee?
Bei WinAMp gibt es sowas ja schon..

Phoenix 16. Okt 2006 12:42

Re: WMP aktueller Titel?
 
Zitat:

Zitat von Knotti
Keiner ne Idee?
Bei WinAMp gibt es sowas ja schon..

Pushen bitte erst nach frühestens 24 Stunden! :warn:

arne99 6. Jul 2007 19:23

Re: WMP aktueller Titel?
 
Push nach nem knappen Jahr!

Bitte Lösungsansätze schreiben, Danke!

DGL-luke 6. Jul 2007 21:05

Re: WMP aktueller Titel?
 
...da gibts doch veröffebntlcihte interfaces.

und auch noch so aktuell:

http://www.delphipraxis.net/internal...hlight=iwmp%2A

arne99 6. Jul 2007 21:07

Re: WMP aktueller Titel?
 
Weil ich gepusht habe, genau ;) Danke dennoch.

Luckie 6. Jul 2007 21:11

Re: WMP aktueller Titel?
 
Zitat:

Zitat von arne99
Bitte Lösungsansätze schreiben, Danke!

Bitte etwas mehr Eigeninitiative: Hier im Forum suchenwmp titel. :roll:

arne99 6. Jul 2007 21:17

Re: WMP aktueller Titel?
 
Stimmt, nach "Titel" haette ich mal suchen sollen. Hab nach Song / Track gesucht etc. Da kamen dann weniger antworten. Ich achte dann mal darauf dass ich auch "Deutsch" verwende :) thx

EWeiss 6. Jul 2007 21:31

Re: WMP aktueller Titel?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ka ob du was gefunden hast.

Es geht aber grundsätzlich!
Nicht nur Titel sondern Album ,Genre und alles was dazugehört

gruss

arne99 6. Jul 2007 21:37

Re: WMP aktueller Titel?
 
Ich glaube hier gibt es grundsaetzlich 2 Themenbereiche:

Wie bekomme ich den Titel aus einer WMP Komponente? Oder wie in meinem Fall:

Wie erhalte ich die Titelinformatioenn aus dem Windows Media Player 9+ ?

gruß aus Hamburg!

EWeiss 6. Jul 2007 21:49

Re: WMP aktueller Titel?
 
Zitat:

Zitat von arne99
Ich glaube hier gibt es grundsaetzlich 2 Themenbereiche:

Wie bekomme ich den Titel aus einer WMP Komponente? Oder wie in meinem Fall:

Wie erhalte ich die Titelinformatioenn aus dem Windows Media Player 9+ ?

gruß aus Hamburg!

Wo ist das problem Installiere das WMP SDK da steht alles drin
was dir das Bild das ich gezeigt habe dokumentiert.

Du brauchst nicht anderes als das comobjekt MediaInfo
die Daten sind immer gleich da sie in der Playliste abgelegt sind.

Dann startest du den Mediaplayer suchst über findWindow dessen Handle
suchst nach den eintrag Playlist und welcher index gerade in WMP aktiviert ist.
diesen mit den eintrag in MediaInfo vergleichen und fertig.

Den Code kann ich dir nicht auch noch schreiben.

gruss

arne99 6. Jul 2007 21:52

Re: WMP aktueller Titel?
 
Nein, sollst ja nicht. Schaff ich dann ja auch noch. Aber diese Infos sind schon fuer mich "Gold" wert.
Also dank dir, wenn ich's gepackt hab findest du alle Diskussionsthemen ueber iTunes, WMP, WinAmp und Amazon der letzten 2 Wochen als Freeware Project hier DP ;) Gruß!

EWeiss 6. Jul 2007 22:01

Re: WMP aktueller Titel?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von arne99
Nein, sollst ja nicht. Schaff ich dann ja auch noch. Aber diese Infos sind schon fuer mich "Gold" wert.
Also dank dir, wenn ich's gepackt hab findest du alle Diskussionsthemen ueber iTunes, WMP, WinAmp und Amazon der letzten 2 Wochen als Freeware Project hier DP ;) Gruß!

Falls du dich etwas mit VB auskennst ...
Kleiner snipped .. hat funktioniert bis WMP10

Das ganze funktioniert dann ohne einbinden der TypeLib einfach über API'S

Die 11 macht ärger.

Code:
Option Explicit

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long

Public Function strGetText(lngHwnd As Long) As String
Dim ilngLength As Long
Dim strBuffer As String    
    ilngLength = SendMessageLong(lngHwnd, &HE, 0, 0)  
    strBuffer = String$(ilngLength, 0)  
    SendMessageByString lngHwnd, &HD, ilngLength + 1, strBuffer  
    strGetText = strBuffer
    Exit Function    
    Resume Next
End Function

Public Function getWMPT() As String
Dim stringtxt As String
Dim wmplng As Long

    wmplng = FindWindow("WMPlayerAPP", vbNullString)
    If wmplng = 0 Then
        getWMPT = "WMP is not loaded currently"    
        Else
            stringtxt = strGetText(wmplng)
        If stringtxt = "Windows Media Player" Then
            getWMPT = "No Song is currently being played"
        Else
            stringtxt = wmplng
            getWMPT = Trim$(Left$(stringtxt, InStr(1, stringtxt, " - Windows Media Player")))
        End If
    End If    
    Exit Function  
    Resume Next      
 End Function
gruss

EDIT:
Erklärung:
Das Caption der bis 10 Reihe verändert sich.
Also .. Standartmäßig ist es Windows Media Player
Wenn ein Song spielt dann ändert es sich zu 'Song - Windows Media Player'

Du musst dann nur den String spliten '-' Und hast den aktuellen Titel der gerade spielt.

EDIT2:
Geht auch mit dem 11
Setzt allerdings vorraus das der Player im Minimodus ausgeführt und das Klassische Menü aktiviert ist.
Erst dann ändert sich das Caption vom Player

Achso vergessen!
Das Caption ändert sich 3x mal
1. Album
2. Interpret
3. Titel
Somit hast du also 3 Informationen gleichzeitig (nur beim WMP11)

EWeiss 6. Jul 2007 23:48

Re: WMP aktueller Titel?
 
Hier noch ein Paar andere SendMessagen
um den MediaPlayer von außen zu kontrollieren.

Delphi-Quellcode:
const
WMPlayer_LParam = 0x00000000;
WMPlayer_Play/Pause = 0x00004978;
WMPlayer_Stop = 0x00004979;
WMPlayer_VolumeUp = 0x0000497F;
WMPlayer_VolumeDown = 0x00004980;
WMPlayer_Mute = 0x00004981;
WMPlayer_Backward = 0x0000497a;
WMPlayer_Forward = 0x0000497b;
gruss Emil


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz