WIndows Media Player Statusbar

  • Einen wunderschönen warmen Abend an alle, (bin heut mal gut drauf :D),
    hab mir gedacht, hey, egal was du grad am PC machst, sollte ich doch wissen, wie das Lied heißt das momentan im Media Player läuft.
    Zack, einen Moment später die Idee:
    eine kleine Statusbar, immer im Vordergrund, die mir das aktuelle Lied anzeigt.
    Problem ist nur wie komm ich an das Lied das gerade gespielt wird ran?!?

    Mein erster Versuch scheiterte kläglich:

    Spoiler anzeigen
    [autoit]

    Opt("TrayIconDebug",1)
    Opt("WinTitleMatchMode",3)
    $title = "Windows Media Player"
    $songname = ""
    $time_next = ""

    [/autoit] [autoit][/autoit] [autoit]

    $songname_old = $songname
    ; jetzt kommt das Problem mit "",0 --> man weiß den Wert von "" nicht und mit egal
    ; was, des bekommt man des auch nicht raus...
    $songname = ControlListView($title,"","SysListView321","GetText","",0) ;Titel des Liedes = 0

    [/autoit] [autoit][/autoit] [autoit]

    If $songname <> $songname_old Then
    $time = ControlListView($title,"","SysListView321","GetText","",2) ;Dauer des Liedes = 2
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite($songname&@LF&$time&@LF)

    [/autoit]


    Dies lag daran, dass das aktuell spielende Lied im Windows Media Player ja nicht markiert ist und man somit auch nicht mit ControlListView rankommt.
    Aber wie bekommt man dann den Count, sprich das wieivielte Item es ist bei SysListView321 oder geht dies nicht?

    Pls, helft mir ;) habt auch Zeit, bin morgen ganzen Tag auf Achse.

    Grüße Stormy

    Einmal editiert, zuletzt von stormy (3. Juni 2008 um 19:22)

  • Eigenen Media Player machen,der sich wie der andere ausgibt ...

    Einfach ein Screenshot machen und reinspielen.

    Dann haste den Pfad und damit die Datei.

    :rofl:

    Spoiler anzeigen

    Sorry für meine Ironie...
    Es ist die Unwissenheit !

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

  • Sehr hilfreich, dankeschön Dankeschön :D

    Geht aus einem Grund nicht, ich beziehe meine Musik legal über eine Musikflatrate (Napster, 10€ im Monat --> Schleichwerbung) und die Dateien sind alle .wma mit DRM (Anti-Schleichwerbung) und können speziell nur mit WMP (2.Anti-Schleichwerbung) abgespielt werden (WinAmp auch, aber der stinkt :D ---> Rufschädidung).
    (weitere Gründe sind zu erwähnen wie keine Lust, eigenen Media Player zu basteln oder vorgefertigten der meinen Wünschen entspricht zu suchen usw....)
    Kann man eigentlich beim System á lá Filemon per AutoIT checken auf welche Dateien grad zugegriffen wird, sind mit Filemon ja ca. 10x die Datei bzw. das Lied pro Sekunde und dann checken ob .wma, dann wärs ja auch möglich oder ist diese Art und Weise a too dirty way ?!? :D

    Gruß und schönen Abend ;)

    ps: Bin wieder da von meiner Radtour ;)

  • Servus ;)

    hab den neusten, also WMP11.
    Das Probolem ist, das Lied das akutell gespielt wird ist nicht seleceted, habs schon ausprobiert, hab ControlListView schon alles durch :D
    Wie übern Ram auslesen^^ wer a sagt muss auch b sagen ;) wie finde ich raus wohin des geschrieben steht und wie wandle ich die Hexzahlen in Buchstaben etc. um? (kennst du Filemon von der kostenlosen Sysinternal Suite? macht der des auch über Ram?)

    Gruß und schönen Abend noch

    Stormy

  • thx, gleich mal oder auch morgen :D reinziehen, sieht aber auf den ersten Blick wie harte Kost aus, aber man beißt sich ja durch :D
    Danke nommel und schönen Abend ;)

    1.Edit:

    Spoiler anzeigen

    On This Page
    Working with the Windows Media Player Object Model Working with the Windows Media Player Object Model
    Retrieving All the Items in Your Media Collection Retrieving All the Items in Your Media Collection
    Retrieving Items by Item Type Retrieving Items by Item Type
    Working with Media Object Attributes Working with Media Object Attributes
    Bonus Script: Copying Media Collection Information to an Excel Spreadsheet Bonus Script: Copying Media Collection Information to an Excel Spreadsheet
    Retrieving a Targeted List of Items Retrieving a Targeted List of Items
    Retrieving Songs by Artist Name Retrieving Songs by Artist Name
    Retrieving Songs by Album Name Retrieving Songs by Album Name
    Retrieving Songs by Genre Retrieving Songs by Genre
    Retrieving – and Playing – an Individual Song Retrieving – and Playing – an Individual Song
    Adding a New Item to the Media Collection Adding a New Item to the Media Collection
    Deleting an Item from the Media Collection Deleting an Item from the Media Collection
    Working with Windows Media Player Playlists Working with Windows Media Player Playlists
    Retrieving a List of All Your Playlists Retrieving a List of All Your Playlists
    Listing All the Songs on a Playlist Listing All the Songs on a Playlist
    Creating a New Playlist Creating a New Playlist
    Bonus Script: Creating a Random Playlist Bonus Script: Creating a Random Playlist
    Removing an Existing Playlist Removing an Existing Playlist
    Adding a Song to a Playlist Adding a Song to a Playlist
    Deleting a Song from a Playlist Deleting a Song from a Playlist
    Playing a Playlist Playing a Playlist
    Is That All There Is? Is That All There Is?


    ==> Habs mal grob überflogen und manche Sachen, die sich für mich interessant angehört haben gelesen, aber nichts gefunden, wo das aktuell spielenende Lied wiedergegeben wird, sondern immer nur anhand von Angaben wie Artist/Titel etc.
    Bin ich blind und hab was übersehen oder steht da echt nix drin, des muss es doch geben?!?
    Gruß Stormy

    Edit2:
    hab dieses wmp.ocx mal in die SuFu hier eingetippt und bin auf folgendes gekommen:
    https://autoit.de/index.php?page…hlight=WMPlayer
    Dort ist auch ein Skript um den Namen des aktuellen Liedes herauszufinden, aber (!!!) es gibt mir ein Lied aus, das ich schon seit Ewigkeiten nicht mehr gehört habe und auch gar nicht in der Playlist drin ist -.-
    Das Script (von GtaSpider):

    Spoiler anzeigen
    [autoit]

    $cn = "^3"
    $ca = "^3"
    $cm = "^7"
    $ct = "^7"
    _getcurrenttrack_wmp()
    Func _getcurrenttrack_wmp()
    $oWMP = ObjCreate("WMPlayer.OCX")
    $oWMP.currentMedia = $oWMP.mediaCollection.getAll ().item (0)
    $TracknameWMP = $oWMP.currentmedia.name
    ;~ $ArtistnameWMP = $oWMP.currentmedia.Artist; ?
    $TitleWMP = "artist unknow " & $cm & "-" & " " & $TracknameWMP
    $musicWMP = $ct & "I am listening to " & $TitleWMP
    ClipPut($musicWMP)
    Send("^v")
    EndFunc ;==>_getcurrenttrack_wmp

    [/autoit]


    und ein weiterer Verwirrender Link: :D
    http://msdn2.microsoft.com/en-us/library/bb249259.aspx

    Gruß Stormy
    ps: hätte nicht gedacht, das es so kompliziert ist den aktuell spielende Title aus dem Media Player auszulesen -.-

    2 Mal editiert, zuletzt von stormy (1. Juni 2008 um 23:22)

  • Niemand eine Idee wie man es über den RAM macht oder so wie mit FileMon, also anzeigen lassen auf welche Daten gerade zugegriffen werden?
    Sysinternal Suite (Freeware) bei Chip zum Downloaden
    sieht dann so aus wenn man das Lied abspielt und nebenbei Filemon laufen lässt:
    autoit.de/wcf/attachment/2354/

    Meine Idee:
    Sowas wie FileMon selbst machen und checken ob i-wo .wma und dann .wma abschneiden und ausgeben lassen.
    Alle 2 Sek checken ob .wma geändert hat oder nun auf andere zugegriffen wird und dann die Ausgebe dementsprechend aktualisieren.
    Einziger Haken, wie baut man FileMon geschickt nach bzw. wie funktioniert der eigentlich, pls helft mir, sollte eigentlich nur einen leichte kleine Übung sein ;)

    Gruß und schönen Abend noch

    Stormy

  • des hört sich gut an ;)
    speichert das Lied bzw. Namen, das aktuell gespielt wird, in eine Datei, die man wiederum auslesen kann ;)
    Danköö!
    Gruß Stormy