[Erledigt] Tags auslesen (mp3, m4a, mp4 etc)

Rund um die LCL und andere Komponenten
Antworten
charlytango
Beiträge: 333
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz 2.0 fixes FPC 3.2 fixes
CPU-Target: Win 32Bit, 64bit
Wohnort: Wien

[Erledigt] Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von charlytango »

Hi,

ich möchte mit der Tags Library 1.0.104.172 Tags aus diversen Formaten auslesen, denn die schafft eine umfassende Zahl unterschiedlicher Tagformate mit quasi einer Syntax.

An sich ist sie für Delphi und Lazarus verfügbar. Habe ein beiliegendes Delphi Tutorial nach Lazarus konvertiert und für mp3 Dateien läuft es perfekt.

Bei M4A Dateien (also aus der Typgruppe MP4) bekomme ich seltsame Ergebnisse.
Die beiliegende EXE liest die Tags sauber aus.
Screenshot Own EXE.png
Screenshot Own EXE.png (25.33 KiB) 296 mal betrachtet
Mit der konvertierten Demo (soweit ich beurteilen kann der gleiche Code wie die Delphi-compilierte EXE) gibt es eine Einführung in fernöstliche Schriftzeichen.
Screenshot Tags Lib Tut.png
Screenshot Tags Lib Tut.png (30.8 KiB) 296 mal betrachtet
Das Programm MP3Tag liest die Tags übrigens auch sauber aus.

Meiner Vermutung folgend habe ich UTF8ToSys versucht, aber leider ohne Erfolg.
Mail an den Hersteller ist raus, aber vielleicht kennt jemand eine mögliche Ursache ?

Falls sich jemand näher damit beschäftigen mag kann ich den Code posten.

THX
Zuletzt geändert von charlytango am Di 23. Mär 2021, 17:18, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 8639
Registriert: Mo 11. Sep 2006, 19:01

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von theo »

K.A. Schon mal mit OvoTag probiert?
https://github.com/varianus/ovoplayer/t ... src/ovotag

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4569
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von af0815 »

Ich würde mir mal im Debugger ansehen, was da wirklich gelesen wird. Nicht das da UTF-8 (Lazarus) und UTF-16 (Delphi) irgendwie verwürfelt wird.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 333
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz 2.0 fixes FPC 3.2 fixes
CPU-Target: Win 32Bit, 64bit
Wohnort: Wien

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von charlytango »

theo hat geschrieben:
Mo 22. Mär 2021, 13:47
K.A. Schon mal mit OvoTag probiert?
https://github.com/varianus/ovoplayer/t ... src/ovotag
auf dein Anraten hab ich mal versucht das Beispielprogramm zu kompilieren.

Code: Alles auswählen

  HaveID3 := (ID1[0] = 'I') and (ID1[0] = 'D') and (ID1[0] = '3');  
file_mp4.pas(314,19) Error: range check error while evaluating constants (0 must be between 1 and 4)

keine Ahnung was da bemängelt wird.

Das komplette Programm (ovoplayer) lässt sich auch nicht kompilieren
Zuletzt geändert von charlytango am Mo 22. Mär 2021, 15:02, insgesamt 1-mal geändert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4569
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von af0815 »

ID1[0] will nicht haben, das du da index 0 verwendest. 1 bis 4 sind da nur erlaubt. Null liegt mal nicht zwischen 1-4 :mrgreen:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 333
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz 2.0 fixes FPC 3.2 fixes
CPU-Target: Win 32Bit, 64bit
Wohnort: Wien

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von charlytango »

af0815 hat geschrieben:
Mo 22. Mär 2021, 15:00
ID1[0] will nicht haben, das du da index 0 verwendest. 1 bis 4 sind da nur erlaubt. Null liegt mal nicht zwischen 1-4 :mrgreen:
langsam mit den alten Pferden ;)
nicht ich -- war eine zeile aus dem OVO-Player der mir empfohlen wurde ggg

Ich mag es wirklich sehr wenn nicht mal die Beispielprogramme kompilierbar sind grrr

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4569
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von af0815 »

Deswegen habe ich gemeint, das du dir bei deinem eigentlichen Programm mal ansiehst was im String drinnensteht. Das ganze kommt ja aus einer c-dll, soweit ich das gelesen habe. Da ist es günstig mal anzusehen, was wirklich daherkommt. Wen die DLL Delphikompatibel ist, so muss man mit UTF-16 rechnen. Ist mir selbst schon passiert, der Code läuft unter Delphi, derselbe Code macht aber komische Zeichen unter Lazarus - es war UTF-16 was ich über die Schnittstelle bekam.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 333
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz 2.0 fixes FPC 3.2 fixes
CPU-Target: Win 32Bit, 64bit
Wohnort: Wien

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von charlytango »

theo hat geschrieben:
Mo 22. Mär 2021, 13:47
K.A. Schon mal mit OvoTag probiert?
https://github.com/varianus/ovoplayer/t ... src/ovotag
das Beispielprogramm tut es immer noch nicht wirklich... aber es sieht so aus als ob ovotag nicht ALLE möglichen Tags ausliest -- ich bin jetzt wieder bei meiner ersten Frage

charlytango
Beiträge: 333
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz 2.0 fixes FPC 3.2 fixes
CPU-Target: Win 32Bit, 64bit
Wohnort: Wien

Re: Tags auslesen (mp3, m4a, mp4 etc)

Beitrag von charlytango »

Nur zur Info falls jemand eine Taglibrary sucht:

Innerhalb von 12 Stunden (über Nacht) hat der Entwickler eine adaptierte Version geschickt.
Jetzt werden die M4A Tags sauber ausgelesen.

Tags Library

Folgende Formate werden unterstützt:

WAV, WAVE, RF64, BWF
APE, MPC, WV, OFR
MP4, M4A, M4B, ALAC
WMA, WMV, ASF
FLAC, FLA, FLC, OGA
OGG, OPUS, OGV,
MPG, MP1, MP2, MP3, MPA
AIFF, AIF, AIFC, AFC
DSF, DFF

case closed

Antworten