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
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Mp3FileUtils

  Alt 23. Jul 2011, 11:34
Hallo Gausi,

zuerst einmal meinen Respekt für deine Arbeit zu diesem Projekt und dem Bereitstellen als offenen Code!
Als einfacher Hobbyprogrammierer konnte ich einiges aus deinem Projekt lernen.

Ich habe jetzt das Problem, dass anscheinend bei einer variablen Bitrate > 256 kbps der ausgelesene Wert der Bitrate aus den MPEG-Informationen falsch ist.
Oft wird nur ein ca. ein 10tel der echten Bitrate angezeigt.
Mir ist das aufgefallen, weil anscheinend Amazon die Bitrate seiner MP3-Lieder erhöht hat.
In diversen Playern wird die richtige Bitrate angezeigt.

Hast du hier eine Idee woher das kommen kann?

Im Rahmen meiner Möglichkeiten stehe ich natürlich gern für Nachfragen, Tests oder dergeleichen zur Verfügung.

Ps.: ich bin mir nicht ganz sicher, meine aber, dass das früher mal richtig angezeigt wurde.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

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

AW: Mp3FileUtils

  Alt 23. Jul 2011, 12:42
Hm. Ich habe bisher nur einmal ein Album bei Amazon gekauft, und das hatte konstant 256kbps. Von daher wieder meine Standard-Bitte: Schick mir mal ein oder zwei dieser Dateien, damit ich da mal durchsteppen kann, was da schiefläuft.

Adresse ist "mail ÄTT gausi PUNKT de"
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
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Mp3FileUtils

  Alt 23. Jul 2011, 12:55
Email mit einer Beispiel-Mp3-Datei ist unterwegs...
Musik ist natürlich Geschmacksache.

Hatte gerade festgestellt dass auch die Liedlänge um Faktor 9 zu lang angezeigt wird.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Mp3FileUtils

  Alt 23. Jul 2011, 14:00
Hallo Gausi,

es tut mir wirklich leid!
Der Fehler lag bei mir!

Ich hatte gerade in deinen Demos nachgeschaut und da waren die Anzeigen richtig. Also musste es bei mir liegen.

Im Zuge von "Aufräumaktionen" in meinem Code vor ca. 4 Wochen hatte ich dabei an 2 Stellen die Reihenfolge vertauscht gehabt.

Delphi-Quellcode:
    Id3v2Tag.ReadFromStream(stream); // <= das hatte ich direkt vor "MpegInfo.LoadFromStream(stream)" stehen und deswegen war bei mir der Fehler...
    // an das Ende des Tags springen
    if not Id3v2Tag.exists then
      stream.Seek(0, sobeginning)
    else stream.Seek(Id3v2Tag.size, soFromBeginning);

    MpegInfo.LoadFromStream(stream);
    stream.Free;
Bitte sieh mir meine nicht vollständige Überprüfung meines Codes nach.
Danke!

Ich wünsche allen ein schönes Wochenende!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

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

AW: Mp3FileUtils

  Alt 23. Jul 2011, 14:20
Danke für die Datei. Bei mir wird alles richtig angezeigt, aber ich kann die falsche Anzeige reproduzieren und kann bestätigen, dass das vorher richtig angezeigt wurde. Der Fehler liegt nämlich nur zum Teil bei dir.

Problem ist hier tatsächlich das Auslesen des ID3-Tags. Ich habe da in der letzten Version beim Einlesen des Tags etwas geändert - anstatt jeden Frame des ID3-Tags einzeln aus dem orignal-Filestream einzulesen, wird erst der ganze Tag in einen Memorystream kopiert, und aus diesem Stream dann die Frames gelesen. Ich verspreche mir davon schnelleres Lesen bei Laufwerken im Netzwerk.

Problem ist, dass ich nach dem Lesen des Headers "Tag.Size"-Bytes in den Memorystream kopiere, aber den Header ja schon gelesen habe. Daher kopiere ich 10 Bytes zu viel, bin im Orignal-FileStream 10 Bytes zu weit hinten, und verpasse den Beginn des XING-Headers, in dem Infos über die variable Bitrate enthalten sind. Und dann wird angenommen, dass die ersten AudioFrames (Stille, also geringe Bitrate) als passend für die Datei genommen werden. Und da die Länge aus der Bitrate und Dateigröße berechnet wird, wär das dann auch geklärt.

Abhilfe für das Problem hast du ja schon selbst gefunden.
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
MW97

Registriert seit: 20. Nov 2010
Ort: Sachsen-Anhalt, Region Magdeburg
13 Beiträge
 
Delphi 7 Personal
 
#6

AW: Mp3FileUtils

  Alt 12. Aug 2011, 19:31
Hallo gausi,

Ich finde deine Units echt toll, aber ich habe ein Problem mit deiner MP3FileUtils.
Ich habe den Code den du im Delphi-Treff im Tutorial geschrieben hast so umgeschrieben, dass ich ohne die Klasse TAudioFile auskomme und nur mit den Dateinamen arbeite. Das funktioniert auch alles sehr gut.
Aber wenn ich mit meinen Programm die Titelinformationen von vielen Dateien aktualisiere(Sie werden in Stringlisten gespeichert), steigt der Speicherverbracuh sehr stakt an. Die StringListen enthalten von Programmstart an schon die Titelinfos und werden beim Start nur aktualisiert.

Ich habe schon allesmögliche mit try finally und Free probiert, aber der Speicherverbracuh steigt von 2 auf 182 MB. (In den Stringlisten speichere ich nur Titel, Interpret und Spiellänge).
Kannst du mir da vielleicht weiterhelfen?
Schon mal Danke im Vorraus.

MW97
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#7

AW: Mp3FileUtils

  Alt 12. Aug 2011, 19:55
Ich bin zwar nicht Gausi, aber das klingt danach, als ob Du immer wieder Objekte erzeugst, ohne sie anschließend freizugeben. Wie sieht denn Dein Code aus?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 19:41 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