Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mp3FileUtils kann nicht kompiliert werden? (https://www.delphipraxis.net/171688-mp3fileutils-kann-nicht-kompiliert-werden.html)

NickPower 20. Nov 2012 07:42

Mp3FileUtils kann nicht kompiliert werden?
 
Hi,
ich versuche ID3-Tags auszulesen. Darauf bin ich auf MP3FileUtils gestoßen. Binde ich die units ein und versuche es zu kopilieren, kommt bei ID3v2Frames immer die Fehlermeldung: "Zeile zu lang(mehr als 1023 Zeichen)". Dann kopier ich das in Word und wieder zurück und dann kommen da zwei Fehlermeldungen:

Code:
FT_UserTextFrame
);

TID3v2FrameVersions = (FV_2 = 2, FV_3, FV_4);
Da kommt der [Fehler] Id3v2Frames.pas(34): ',' oder ')' erwartet, aber '=' gefunden.
Und es kommt noch ein Fehler:
Code:
            move(fData[start], tmp[1], alength);
            {$IFDEF UNICODE}
                result := UTF8ToString(tmp);   // Bugfix 03.2010: "result := "
            {$ELSE}
                result := UTF8Decode(tmp); // Deprecated in Delphi 2009
            {$ENDIF}
[Fehler] Id3v2Frames.pas(1124): Undefinierter Bezeichner: 'UTF8Decode'

Mit freundlichen Grüßen

Bernhard Geyer 20. Nov 2012 07:49

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Hast du evtl eine zu alte Delphi-Version die nicht unterstützt wird?

NickPower 20. Nov 2012 08:02

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Ich hab Delphi 5.
Kann das zu Problemen führen?

Sir Rufo 20. Nov 2012 08:05

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Zitat:

Zitat von NickPower (Beitrag 1191982)
Ich hab Delphi 5.
Kann das zu Problemen führen?

Auf der Website steht
Zitat:

Mp3FileUtils
Eine Klassensammlung zum Auslesen und Schreiben von diversen Informationen aus Mp3-Dateien mit Delphi. Die Klassen sind kompatibel zu Delphi 7 (evtl auch früher) bis Delphi 2010.
damit sollte das klar sein

NickPower 20. Nov 2012 08:13

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1191983)
Zitat:

Zitat von NickPower (Beitrag 1191982)
Ich hab Delphi 5.
Kann das zu Problemen führen?

Auf der Website steht
Zitat:

Mp3FileUtils
Eine Klassensammlung zum Auslesen und Schreiben von diversen Informationen aus Mp3-Dateien mit Delphi. Die Klassen sind kompatibel zu Delphi 7 (evtl auch früher) bis Delphi 2010.
damit sollte das klar sein

Also könnte es sein?
Auf der Website steht noch
Zitat:

Je nach Stellung der Compilersschalter (in der Datei config.inc) werden für Delphi 2007 (oder früher) die TNT Unicode Controls benötigt.
Nur leider weiß ich nicht, was das ist, und wie man es einbindet.

Sir Rufo 20. Nov 2012 08:15

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Bei Google suchenTNT Unicode Controls

Gausi 20. Nov 2012 14:05

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Jep, mit Delphi 5 geht das nicht. Da konnten Aufzählungstypen noch nicht mit einem definierten Wert beginnen. Du kannst das ändern, indem du das "=2" dort weglässt, und bei den ganzen Const-Arrays, die auf diesem Typ basieren, vorher jeweils zwei Dummy-Werte einfügst.

Das hat mir auch mal jemand geschickt, muss mal schauen, ob ich das noch wiederfinde und häng das ggf. hier an.

Das UTF8Decode kannst du Quick&Dirty auch weglassen. Das führt dann dazu, dass bei geschätzt 0.1% aller mp3-Dateien gelegentlich etwas Zeichensalat ausgegeben wird. Das wird nämlich nur gebraucht, wenn der ID3Tag in der Version 2.4 vorliegt und dort dann als Encoding UTF8 verwendet wird. Version 2.4 ist generell sehr selten (wird u.a. bis Windows7 auch gar nicht vom Mediaplayer unterstützt, Win8 hab ich noch nicht getestet), und wie oft dann UTF8 verwendet wird, weiß ich nicht.

NickPower 22. Nov 2012 21:56

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Zitat:

Zitat von Gausi (Beitrag 1192062)
Jep, mit Delphi 5 geht das nicht. Da konnten Aufzählungstypen noch nicht mit einem definierten Wert beginnen. Du kannst das ändern, indem du das "=2" dort weglässt, und bei den ganzen Const-Arrays, die auf diesem Typ basieren, vorher jeweils zwei Dummy-Werte einfügst.

Das hat mir auch mal jemand geschickt, muss mal schauen, ob ich das noch wiederfinde und häng das ggf. hier an.

Das UTF8Decode kannst du Quick&Dirty auch weglassen. Das führt dann dazu, dass bei geschätzt 0.1% aller mp3-Dateien gelegentlich etwas Zeichensalat ausgegeben wird. Das wird nämlich nur gebraucht, wenn der ID3Tag in der Version 2.4 vorliegt und dort dann als Encoding UTF8 verwendet wird. Version 2.4 ist generell sehr selten (wird u.a. bis Windows7 auch gar nicht vom Mediaplayer unterstützt, Win8 hab ich noch nicht getestet), und wie oft dann UTF8 verwendet wird, weiß ich nicht.

Danke für deine Hilfe :)
Nur leider wieß ich nicht genau, was du meinst, da ich noch nicht so weit fortgeschritten bin im programmieren. Hilft es vielleicht auf Delphi 7 umzusteigen?
Es wäre natürlich toll, wenn du die Dateien findest und sie mir geben könntest :)

Mit freundlichen Grüßen

Sir Rufo 22. Nov 2012 23:14

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Einfach sowas
Delphi-Quellcode:
type
  TID3v2FrameVersions = (FV_2 = 2, FV_3, FV_4);
in sowas ändern
Delphi-Quellcode:
type
  TID3v2FrameVersions = (FV_0_dummy, FV_1_dummy, FV_2 {= 2}, FV_3, FV_4);

Gausi 23. Nov 2012 10:26

AW: Mp3FileUtils kann nicht kompiliert werden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jep, aber der Typ wird halt noch bei Const-Arrays benutzt, daher ist das etwas mehr. Ich häng hier mal an, was mir Jens Wahl diesen Februar gemailt hat
Zitat:

da ich (privat) noch mit Delphi 5 arbeite, habe ich mir Deine Units entsprechend angepasst. In irgendeinem Delphi-Forum hatte ich mal auch noch einen Interessenten dafür gefunden, vielleicht kannst Du sie weitergeben (ist aber etwas dirty programmiert, nur damit es unter D5 läuft). Die Änderungen habe ich entsprechend gekennzeichnet.
Verwendung auf eigene Gefahr, wenn der da einen Trojaner eingebaut hat, kann ich nix dafür. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 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