AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Cover in WMP Format

Ein Thema von EWeiss · begonnen am 31. Mär 2018 · letzter Beitrag vom 15. Apr 2018
Antwort Antwort
Seite 4 von 9   « Erste     234 56     Letzte » 
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
1.907 Beiträge
 
Delphi 2010 Professional
 
#31

AW: Cover in WMP Format

  Alt 13. Apr 2018, 20:45
Was ich mittlerweile herausfand, aber Dir so auch nicht hilft, in den PRIV vom WMP generiert, werden viele Zahlen abgelegt, aus denen Wiederum erstellt WMP ein Name_ZAHLEN_ZAHLEN_ZAHLEN.jpg und verwendet es zur Ansicht.
Vielleicht komme ich noch dahinter was WMP da so anstellt, im moment sind meine Versuche noch mehr als buggy da brute-force.
Auf GitHub fand ich noch ein Tag-Projekt, in VB geschrieben, was auch PRIV erkennt und anzeigen soll, ich kann damit nichts anfangen, aber vielleicht Du. Anbei der Source.

edit
Vergiss das letzte, hab grad erst gesehen das Du das gleiche GitHub Projekt drinn hast, Anhang gelöscht.
Gruß vom KodeZwerg
Wenn ein unerwarteter Fehler aufgetreten ist, frage ich mich immer, welche Fehler erwartet wurden...

Geändert von KodeZwerg (13. Apr 2018 um 20:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
5.639 Beiträge
 
Delphi 2010 Architect
 
#32

AW: Cover in WMP Format

  Alt 13. Apr 2018, 20:50
Was ich mittlerweile herausfand, aber Dir so auch nicht hilft, in den PRIV vom WMP generiert, werden viele Zahlen abgelegt, aus denen Wiederum erstellt WMP ein Name_ZAHLEN_ZAHLEN_ZAHLEN.jpg und verwendet es zur Ansicht.
Vielleicht komme ich noch dahinter was WMP da so anstellt, im moment sind meine Versuche noch mehr als buggy da brute-force.
Auf GitHub fand ich noch ein Tag-Projekt, in VB geschrieben, was auch PRIV erkennt und anzeigen soll, ich kann damit nichts anfangen, aber vielleicht Du. Anbei der Source.
siehe vorheriger Beitrag..
Das Bild dann weist du was dort in den Frames geschrieben wird.

Aber es nutz mir nichts wenn ich es nicht selbst zum Tag addieren kann.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
613 Beiträge
 
RAD-Studio 2009 Pro
 
#33

AW: Cover in WMP Format

  Alt 13. Apr 2018, 20:54
Wenn du den WMP gar nicht benutzen willst, aber das Tag-System bzw. das Plugin, das dieses nutzt, dann könntest du probieren, ob du die GUIDs faken kannst. Wenn der WMP selbst an die Dateien nicht drankommt, dann könntest du probieren, dir ein eigenes GUID-System zu basteln. Diese GUID schreibst du dann in die Private-Frames Das genaue Format dieser Frames ggf. mit nem Hex-Editor austüfteln, meine Mp3FileUtils kann prinzipiell PRIV-Frames schreiben - Daten in einen Stream, Stream in den Frame, fertig. Dann packst du noch die Dateien "AlbumArt_{GUID}_large und small" in das Verzeichnis, und fertig.

Problem könnte dann nur auftauchen, wenn der WMP dann doch mal anfängt, an der Datei rumzupfuschen und "deine" GUID mit der WMP-GUID ersezt, die aus der online-Datenbank kommt oder sonstwie generiert wird, und dann ggf. ein falsches Cover "00000_0000_000_000" geladen wird.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
5.639 Beiträge
 
Delphi 2010 Architect
 
#34

AW: Cover in WMP Format

  Alt 13. Apr 2018, 20:58
Wenn du den WMP gar nicht benutzen willst, aber das Tag-System bzw. das Plugin, das dieses nutzt, dann könntest du probieren, ob du die GUIDs faken kannst. Wenn der WMP selbst an die Dateien nicht drankommt, dann könntest du probieren, dir ein eigenes GUID-System zu basteln. Diese GUID schreibst du dann in die Private-Frames Das genaue Format dieser Frames ggf. mit nem Hex-Editor austüfteln, meine Mp3FileUtils kann prinzipiell PRIV-Frames schreiben - Daten in einen Stream, Stream in den Frame, fertig. Dann packst du noch die Dateien "AlbumArt_{GUID}_large und small" in das Verzeichnis, und fertig.
JA genau das wollte ich auch machen also
AlbumArt_{00000000-0000-0000-0000-000000000000}_Large
AlbumArt_{00000000-0000-0000-0000-000000000000}_Small

Eine Leere guid und fertig stelle mir das aber nicht so einfach vor.
Zitat:
und "deine" GUID mit der WMP-GUID ersezt
Das wäre relativ egal

Hier kann man das Tool zum auslesen der PRIV Frames laden. 445KB
https://www.microsoft.com/en-us/down....aspx?id=12826


gruss

Geändert von EWeiss (13. Apr 2018 um 21:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
613 Beiträge
 
RAD-Studio 2009 Pro
 
#35

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:05
Die PRIV-Frames sind ja keine Zauberei. Die sind so aufgebaut:

Code:
<Header for 'Private frame', ID: "PRIV">
Owner identifier       <text string> $00
The private data       <binary data>
Der Owner identifier ist dieses "WM/WMCollectionGroup"-Gedöns. Die eigentlichen Daten sollten dann die GUID enthalten. Du müsstest dann "nur" herausfinden, wie die Binärdaten in Dateinamen konvertiert werden. Bei mir lasse ich den WMP nicht an meine mp3s, das müsstest du dann mal an ein oder zwei Dateien testen. Vielleicht ist es auch einfach eine Hexadezimal-Darstellung oder sonst eine einfache Kodierung.

Zum Schreiben und Lesen der PRIV-Frames bietet MP3FileUtils die Methoden
Delphi-Quellcode:
function GetPrivateFrame(aOwnerID: AnsiString; Content: TStream): Boolean;
procedure SetPrivateFrame(aOwnerID: AnsiString; Content: TStream);
Wichtig ist hier dann nur wieder die Tag-Version des ID3-Tags. Die sollte 2.3 sein, und nicht 2.4.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
5.639 Beiträge
 
Delphi 2010 Architect
 
#36

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:10
Wenn du mal reinschauen möchtest könnte ich dir eine Datei mit den PRIV Frames schicken
Mit dem Tool kannst du diese dann auslesen.
https://www.microsoft.com/en-us/down....aspx?id=12826

Wenn Interesse besteht.

Zitat:
Vielleicht ist es auch einfach eine Hexadezimal-Darstellung oder sonst eine einfache Kodierung.
So wie ich gelesen habe utf16

gruss

Geändert von EWeiss (13. Apr 2018 um 21:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
613 Beiträge
 
RAD-Studio 2009 Pro
 
#37

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:15
Gerne. Dann aber wenn möglich auch die Album-Art-Datei mit der GUID im Namen, damit da ein Abgleich möglich ist.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
5.639 Beiträge
 
Delphi 2010 Architect
 
#38

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:17
Gerne. Dann aber wenn möglich auch die Album-Art-Datei mit der GUID im Namen, damit da ein Abgleich möglich ist.
Also die GUID steht doch im mpe2.3 Tag.
Oder was meinst du?
Ich kann die Bilder noch addieren.

Die Datei funktioniert auch ohne das ich
AlbumArt_{00000000-0000-0000-0000-000000000000}_Large.jpg
AlbumArt_{00000000-0000-0000-0000-000000000000}_Small.jpg

im Pfad habe
wichtig sind diese beiden Dateien
AlbumArtSmall.jpg
Folder.jpg

größe spielt keine rolle.
Abgeschickt!

Bei dem Anhang ohne.png fehlt das AlbumArtSmall.jpg Cover im Pfad.

gruss

Geändert von EWeiss (13. Apr 2018 um 22:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von EWeiss
EWeiss

Registriert seit: 16. Okt 2010
5.639 Beiträge
 
Delphi 2010 Architect
 
#39

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:45
Datei zum Testen.. source include
Achtung das Plugin vom WMP MediaPlayer_10 muss registriert sein genauso wie die anderen vom WMP
ansonsten werden sie nicht angezeigt und die Liste bleibt leer.

Downloads wenn nicht vorhanden.

https://support.microsoft.com/en-gb/...s-media-player
Psychedelia Viz Pack (Albumart 3D)
Energy Bliss

WMP ist dafür nicht von nöten!
Wenn man bei Albumart3d die Würfel mit Covers unterlegen will ist das Folder.jpg Voraussetzung!

gruss
Miniaturansicht angehängter Grafiken
bassvis.png  
Angehängte Dateien
Dateityp: zip Example.zip (1,69 MB, 2x aufgerufen)

Geändert von EWeiss (13. Apr 2018 um 21:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
613 Beiträge
 
RAD-Studio 2009 Pro
 
#40

AW: Cover in WMP Format

  Alt 13. Apr 2018, 21:54
Laut dem Tag-Projekt, das du eben verlinkt hast, sind CollectionID und CollectionGroupID relevant. Die sind beide identisch und 16 Byte lang in der Datei, die du mir geschickt hast.

Dieser Code (basierend auf dem Mini-Tool aus der ersten Mail) schreibt eine zufällige ID in die Datei und konvertiert dabei die Basis-Infos zu Version 2.3 (Wichtig: Dabei können Infos verloren gehen. Zumindest sollte man die anderen Standard-Infos auch kopieren). Damit sollte dann auch die Chris-Datei, die du mir zuerst geschickt hast, vom WMP verstanden werden. Ob die zufällige ID dann reicht, oder ob doch irgendwo das Bild liegen muss .... keine Ahnung.


Delphi-Quellcode:
Procedure SetCoverpic;
var
  MP3Tags, v23Tag: TId3v2Tag;
  PicData: TMemorystream;
  GUID: TMemorystream;
  i: Integer;
  b: Byte;
begin
   MP3Tags:= TId3v2Tag.Create;
   v23Tag := TId3v2Tag.Create;
   PicData:= TMemoryStream.Create;
   GUID := TMemorystream.Create;
   try
     If (MP3Tags.ReadFromFile(mp3File) = MP3ERR_None) Then
     begin
       Picdata.LoadFromFile(Picfile);

       // basic converting
       v23Tag.Artist := MP3Tags.Artist;
       v23Tag.Album := MP3Tags.Album;
       v23Tag.Title := MP3Tags.Title;

       for i := 1 to 16 do
       begin
          b := Random(255);
          GUID.Write(b, 1);
       end;

       v23Tag.SetPrivateFrame('WM/WMCollectionID', GUID);
       v23Tag.SetPrivateFrame('WM/WMCollectionGroupID', GUID);

       v23Tag.SetPicture('image/jpeg', 0, '*', PicData);
       v23Tag.WriteToFile(mp3file);

     end;
   finally
     FreeAndNIL(MP3Tags);
     FreeAndNIl(PicData);
     FreeAndNIl(GUID);

     FreeAndNIl(v23Tag);
   end;
end;
The angels have the phone box.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf