Re: WMP aktueller Titel?
Zitat:
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 |
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ß! |
Re: WMP aktueller Titel?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Kleiner snipped .. hat funktioniert bis WMP10 Das ganze funktioniert dann ohne einbinden der TypeLib einfach über API'S Die 11 macht ärger.
Code:
gruss
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 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) |
Re: WMP aktueller Titel?
Hier noch ein Paar andere SendMessagen
um den MediaPlayer von außen zu kontrollieren.
Delphi-Quellcode:
gruss Emil
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 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