AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Mp3FileUtils
Thema durchsuchen
Ansicht
Themen-Optionen

Mp3FileUtils

Ein Thema von Gausi · begonnen am 15. Jun 2006 · letzter Beitrag vom 22. Jun 2013
Antwort Antwort
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#1

AW: Mp3FileUtils

  Alt 1. Jul 2011, 09:02
Hi,
erstmal vielen dank für deine antwort. Aber ich habe es mit der 06er probiert. Die habe ich von deiner Homepage geladen.

Das mit dem NewFrame (oben der Codesnipsel) verstehe ich leider garnicht. Muss das nicht auch wieder freigeben werden? Dort läuft er ja durch wenn kein Bild vorhanden ist.

Auch verstehe ist nicht warum deine demo exe 170kb grösser ist, als die exe die ich mit deiner demo erstelle. Zumal es wirklich mit DEINER exe funktioniert. Das heisst wenn kein Bild enthalten war, wird das bild reingemacht und auch danach z.b. im Mediaplayer angezeigt.

Erstelle ich die, geht es wirklich nur wenn schon ein bild vorhanden war. Ich hänge dir die exe mal hier dran.

Vielen dank für deine hilfe!!!
Angehängte Dateien
Dateityp: zip Demo_ID3v2_Level2_exe.zip (292,6 KB, 12x aufgerufen)
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo ( 1. Jul 2011 um 09:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
905 Beiträge
 
Delphi 12 Athens
 
#2

AW: Mp3FileUtils

  Alt 1. Jul 2011, 09:16
Der NewFrame wird später automatisch freigegeben, wenn das TID3v2Tag-Objekt selbst freigegeben wird. Das ist halt ein neuer Block von Information, der im Tag enthalten ist und von diesem auch verwaltet wird.

Wenn es mit meiner Exe klappt, aber mit deinem Compilat der Original-Demo nicht, dann habe ich einen schlimmen Verdacht, falls du wirklich Delphi 7 verwendest, wie im Profil angegeben. Da muss ich wohl am WE mein D7 Personal nochmal installieren und ausprobieren. Könnte sein, dass da noch ein String-AnsiString-Problem besteht . Die Demo habe ich nämlich mit D2009 compiliert.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#3

AW: Mp3FileUtils

  Alt 1. Jul 2011, 09:27
Jap, ich habe es grade probiert. Unter 2009 geht es wirklich. Unter D7 nicht. Unter 2009 ist auch die .exe so gross wie deine. Unter 2009 tritt beim laden eines mp3 OHNE bild folgender fehler auf. Aber nehme ich dann ein Bild rein und speichere es ab, dann ist es wirklich da.

"Im Projekt Demo_ID3v2_Level2.exe ist eine Exception der Klasse EJPEG mit der Meldung 'JPEG-Fehler #42' aufgetreten."

Wär echt super wenn man das fixen könnte damit man/ich es auf D7 nutzen könnte. Vielleicht kannst du mir ja sagen wo ich ungefähr suchen muss. Sollte ich das finden, werde ich dir das natürlich zukommen lassen.

Nochmals danke für die Hilfe!!
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#4

AW: Mp3FileUtils

  Alt 2. Jul 2011, 11:51
Eventuell hilft es...
bei id3v2Tag.WriteToFile(Edit1.Text); kommt er mir MP3ERR_Cache zurück.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
905 Beiträge
 
Delphi 12 Athens
 
#5

AW: Mp3FileUtils

  Alt 2. Jul 2011, 13:25
Hm, kannst du da mal durchsteppen, weswegen er diesen Fehler zurückgibt? Der Fehler tritt generell auf, wenn das Cachen der Audiodaten fehlschlägt. Da der ID3v2tag am Anfang der Datei steht, muss der ggf. vergrößert werden, wenn mehr Daten gespeichert werden sollen, und auch das häufig vorhandene Padding nicht ausreicht. Dann wird zuerst der Audiodaten-teil in eine temporäre Datei kopiert. Der ID3ERR_Cache-Fehler wird ausgelöst, wenn der FileStream für die tmp-Datei nicht erzeugt werden konnte (also FileStream.Create fehlschlägt oder eine Exception auslöst), oder wenn die Daten nicht komplett kopiert wurden.

Ich hab das hier grade mal mit D7 Personal durchprobiert, hier das wird anstandslos gespeichert.

Die JPEG-Exception kommt im Debugger übrigens, weil die Demo dort unsauber programmiert ist. Da wird mit dem DatenStream, den GetPicture liefert, direkt ein JPEG.LoadFromStream durchgeführt. Ohne Kontrolle, ob da überhaupt was drin steckt. Der fehler wird ohne Debugger einfach durch einen (fast) leeren except-Block ignoriert.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#6

AW: Mp3FileUtils

  Alt 2. Jul 2011, 13:37
Jop, ich war schon am Tracen. Warum das so ist, wie es ist.... frag mich bitte nicht. Vielleicht hast du eine erklärung.

In der Mp3Utils.Pas Zeile 1890 willst du vom Stream ende, 128 Bytes zurück. Und genau da scheppert es. Ich habe das wie folgt geändert und nun geht es.

Alt:
Stream.Seek(-128, soFromEnd);

Neu:
Stream.Seek(Stream.Size-128, soFromBeginning);

Irgendwie gehört das wieder zu den sachen die ich nicht kapiere. Vielleicht hast du ja eine erklärung. Mir fällt dazu nix ein

Trotzdem vielen dank für deine mühe.

Edit: Mit der DelphiVersion mit der ich arbeite kann es eigentlich nix zu haben. Ich habe es auf 3 Rechnern Probiert.

Edit2:
Ich habe mir das mal in Assembler angesehen. Es ist auf beiden Rechnern (D7,D2009) gleich.
004806EE 66B90200 mov cx,$0002
004806F2 BA80FFFFFF mov edx,$ffffff80
004806F7 8B45EC mov eax,[ebp-$14]
004806FA 8B30 mov esi,[eax]
004806FC FF5614 call dword ptr [esi+$14]

In cx steh das Kommando. Bei uns 2 für soFromEnd. In edx steht $ffffff80, also 128 zurück. eax wird der Pointer sein. Ich weiss wirklich nicht warum das nicht klappt. Auch der call zeigt richtig in TStream.Seek.

Beide Rechner laufen unter Windows XP mit SP3.
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo ( 2. Jul 2011 um 14:47 Uhr)
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.245 Beiträge
 
Delphi 2007 Architect
 
#7

AW: Mp3FileUtils

  Alt 4. Jul 2011, 11:53
Rückmeldung:
Ich habe grade mal aus neugierde ein "sauberes" Windows XP-SP3 genommen, Delphi 7 installiert und deine Demo übersetzt. Läuft einwandfrei.

Was ich auf meinem PC, Laptop und in der Virtuellen installiert habe, das es nicht geht weiss ich leider nicht. Ich müsste nun nach und nach alles nachinstallieren um zu sehen wer da mist baut. Bei sowas kann man natürlich lange suchen....

Vielen dank nochmal und netten Gruss
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz