Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

API: ID3-Tags von MP3 u.ä. auslesen
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 02.07.2006, 17:59    Titel: API: ID3-Tags von MP3 u.ä. auslesen Antworten mit Zitat

Hi Leute!


Ich bin gerade daran, eine Medialib zu schreiben. Das Programm durchsucht einen Ordner incl. Unterordner nach Daten mit best. Erweiterung (z.B. MP3, WMA, ...). Die erstellte Liste wird anschließend auf Doppelte bzw. ähnliche Dateinamen analysiert.
Bei dieser Doubletten-Suche wollte ich auch optional die ID3-Tags (also die Medieninformationen wie Interpret, Titel, Album, Spieldauer, ...) vergleichen.


Welche Declare's sind nötig, um diese vier Informationen bei gegebenem Dateinamen mit Pfad zu erfahren? Bzw. wie "bedient" man die entsprechenden APIs?


Danke für eure Mühen.
Sobald ich eine beta-Version habe, werde ich diese ins Projekt-Forum posten.
(Geschätzter Zeitbedarf bis zum first release: 2-4 Wochen.)
Eine Nennung in den Credits ist selbstverständlich auch mit dabei zwinkern

Have a nice day
Ciao
Dusky_Joe
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 02.07.2006, 20:08    Titel: Antworten mit Zitat

Hi Dusky_Joe,
da ich weiß, daß du ein halber Engländer bist( lachen ) scheue ich mich nicht,
diesen Link zu posten:
http://id3lib.sourceforge.net/
Ich hatte eigentlich gedacht, daß es einfacher sei, ID3-Tags auszulesen..
..Irrtum meinerseits grinsen
Vllt. hast du da ja noch nicht geschaut, aber ich bin fest überzeugt, daß du auch googeln kannst vor lachen auf dem Boden rollen
Bin mal gespannt, was bei deinem Projekt herauskommt.
(Ich benutze übrigens MP3-Tag)
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 08.07.2006, 11:01    Titel: Antworten mit Zitat

Hmm... looks pretty good. Unfortunately, I'm unable to download the file right now, some pages can't be found... and, when trying to load them again, to be found immediately...

Soviel wohl zu halber Engländer zwinkern

However, warte noch 1-2 Jahre, dann versuch ich's vllt sogar mal mit Französisch... zwinkern
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 08.07.2006, 16:08    Titel: Antworten mit Zitat

Il y a quelques personnes qui parlent francais, au moins DevilKevin et moi grinsen
[Edit]
Oh, je crois jb aussi, merci..
Salut
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 10.07.2006, 16:35, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 08.07.2006, 18:05    Titel: Antworten mit Zitat

Ach, gleich mehrere? Dann wirds ja Zeit, dass ich endlich auch zum "Club der Auserwählten" komme, wie?

However, zurzeit kann ich nicht genügen Ressourcen freigeben, um French zu installieren - und so leicht wie in MATRIX geht's ja leider nicht...


Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 08.07.2006, 18:52    Titel: Antworten mit Zitat

Ach, da wir gerade bei Fremdsprachen sind:
CIAO ist eine Grußformel in einer mir unbekannten Sprache durchgeknallt
Kann sein, daß das mit der WM zusammenhängt vor lachen auf dem Boden rollen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 09.07.2006, 15:00    Titel: Antworten mit Zitat

Och bitte, komm doch jetzt nicht mit diesem Werbemonster! Kann sein, dass es einfach daran liegt, dass ich für Fußball sowiso nicht besonders viel übrig habe, aber die ganzen Fahnen-schwenkenden Fanmassen mit ihrer Neandertalerähnlichen Sprache ("oleee, oleee! Berlin, Berlin, wir fahren nach Berlin! Schwaaaaaaarz und Weeeeiiiß, wir stehn auf eurer Seite, ...")
Nicht dass ich etwas gegen Fangesänge und Freude am Sport hätte, aber wenn man dann die Frechheit besitzt, laut zu sagen, dass man von Fußball nicht besonders begeistert ist, wird man von vielen angeschaut wie aus einer anderen Welt. Und es gab in den letzten Wochen schon genug Leute, die mich dazu zwingen wollten, ein Spiel anzusehen...erfolglos Zunge rausstrecken

However, ob sie uns jetzt besiegt haben, oder nicht, ob sie jetzt an irgendeinem pseudo-skandal beteiligt sind oder nicht, ich bleibe bei meiner klassischen Grußformel. zwinkern
(Nicht ohne Grund haben mir schon ein paar Leute gesagt, rein vom Hauttyp könnte ich auch Italiener, Türke, o.ä. sein)

Ein Hoch auf die Fans, die sich wirklich nur über den Sport gefreut haben, keinen Ärger gemacht haben, und Leute wie mich dabei in Ruhe gelassen haben!

Have a nice day
Ciao!
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 10.07.2006, 15:10    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:
Il y a quelque personnes qui parlent francais, au moins DevilKevin et moi grinsen

Bin ich bekloppt oder muss hinter das quelque ein s? Zunge rausstrecken zwinkern

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 11.07.2006, 11:07    Titel: Antworten mit Zitat

Hi Dusky_Joe,
zu Informationen über das Auslesen von ID3-Tags kannste ja auch mal hier stöbern..
Nachdem ein gewisser Herr, dessen Namen ich hier nicht nennen will, verraten hat, was jeder wußte, nämlich, daß ich auch AutoIt3 verwende grinsen,
ist es für mich kein Problem mehr, das auch zuzugeben..
[PetzModus]vor lachen auf dem Boden rollen
Manuel macht auch AutoIt3 geschockt
[/PetzModus]

Die genannte DLL kommt allerdings ohne Doku, da ist experimentieren angesagt..
..die WikipediaSeite kennst du bestimmt schon.
Ich werde mir die AutoIt-Skripts mal anschauen und sehen, ob die sich nach FreeBASIC transen lassen.
@jb:
As tu déja vu?
J'ai corrigé la faute..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 11.07.2006, 18:35    Titel: Antworten mit Zitat

Hi Dusky,

ist vielleicht etwas spät, aber ich dachte vielleicht ist's ja trotzdem noch nützlich: http://www.activevb.de/rubriken/faq/faq0095.html Die dort gezeigten VB Codes sind mit wenig Aufwand nach FB portierbar.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 11.07.2006, 19:12    Titel: Antworten mit Zitat

@Sebastian,
Besser spät, als nie..
Wenn es schon Code in (V)Basic gibt, um die ID3-Tags anzuzeigen, dann spar ich mir doch das Getranse..
..also war es nicht zu zu spät, sondern rechtzeitig(nämlich bevor ich angefangen hab grinsen )
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 11.07.2006, 21:05    Titel: Antworten mit Zitat

Code:
'
'  Beispielcode fürs Auslesen und Schreiben eines id3v1 Tags aus einer MP3-Datei
'  für FreeBASIC, getestet mit v0.16 stable für Windows (11.07.2006)
'
'  Auf Basis des ActiveVB Tipps Nr. 483
'  von Sebastian Steiner, sebastian{unterstrich}steiner(ätt)gmx[punkt]de,
'   http://www.sebastian-steiner.de/
'
'  Dieser Source kann frei verwendet werden. Für eventuelle Schäden
'  wird nicht gehaftet.
'

Type TagInfo
  TAG As String * 3
  Songname As String * 30
  artist As String * 30
  album As String * 30
  year As String * 4
  comment As String * 30
  genre As String * 1
End Type

declare function GET_ID3V1TAG(FilePath as string, TAG As TagInfo) as integer
declare sub PUT_ID3V1TAG(FilePath as string, TAG As TagInfo)

DIM result as integer
Dim Datei as string
DIM id3tag as TagInfo

Datei = "yvan.mp3"
result=GET_ID3V1TAG(Datei,id3tag)
CLS
PRINT
PRINT "  ID3v1 Tag der MP3-Datei ";
COLOR 10
PRINT Datei
COLOR 7
PRINT
IF result=0 THEN
    COLOR 12
    PRINT "Auslesen fehlgeschlagen!"
    COLOR 7
    SLEEP: END
END IF
PRINT "  Songname: "; id3tag.Songname
PRINT "  Interpret: "; id3tag.Artist
PRINT "  Album: "; id3tag.Album
PRINT "  Jahr: "; id3tag.year
PRINT "  Kommentar: "; id3tag.comment
PRINT "  Genre Nr. "; ASC(id3tag.genre)
PRINT
SLEEP: END


function GET_ID3V1TAG(FilePath as string, TAG As TagInfo) as integer
    Dim FNum as uinteger
    With TAG
        FNum = FreeFile
        Open FilePath For Binary As #FNum
        Get #FNum, LOF(FNum) - 127, .TAG
        If .TAG <> "TAG" Then
            GET_ID3V1TAG = 0
            Close #FNum
            Exit function
        End If
        Get #FNum, , .Songname
        Get #FNum, , .artist
        Get #FNum, , .album
        Get #FNum, , .year
        Get #FNum, , .comment
        Get #FNum, , .genre
        Close #FNum
        GET_ID3V1TAG = 1
    End With
End Function

sub PUT_ID3V1TAG(FilePath as string, TAG As TagInfo)
    Dim FNum as uinteger
    dim TPos as uinteger
    With TAG
        FNum = FreeFile
        Open FilePath For Binary As #FNum
        TPos = LOF(FNum)
        Get #FNum, TPos - 127, .TAG
        If .TAG = "TAG" Then TPos = TPos - 127
        .TAG = "TAG"
        Put #FNum, TPos, TAG
        Close #FNum
    End With
End Sub

Viel Spaß damit! lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 12.07.2006, 16:58    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:
@jb:
As tu déja vu?
J'ai corrigé la faute..
Gruß
ytwinky

Mais oui, Monsieur zwinkern

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 16.07.2006, 10:26    Titel: Antworten mit Zitat

@ Sebastian:
Danke für den Tipp mit dem VB-Arc, und insbesondere für deine Portierung des ID3v1-Codes. Das Problem daran ist, dass ich quasi darauf angewisen bin, auch v2-Tags lesen zu können.
Ich werde das aber auf jeden Fall mal im Hinterkopf behalten.
Wenn ich mit der Lib, die volta gepostet hat, nicht zurecht komme, werde ich wohl oder übel die Funktionalität auf v1-Tags einschränken müssen.

@ ytwinky:
Danke auch für den Link mit der AutoIt-DLL. But why all the troubles? (I'm thinking of the Petze-Mode) Ich meine, es ist doch keine Sünde, skriptsprachen zu verwenden, oder ist an dieser irgendetwas besonderes? (Habe zuvor noch nie was von AI gehört, und nur grade im Wiki ne Kurzbeschreibung gelesen...)
Anyway, gibt's spezielle dinge, die man vor der erstanwendung wissen sollte?

@ ytwinky & jb:
Es ist ganz interessant, wie man einigermaßen sogar nachvollziehen kann, worüber ihr grade sprecht zwinkern Und das bis jetzt ganz ohne Leo!


Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.07.2006, 10:45    Titel: Antworten mit Zitat

@Dusky: Vielleicht krieg ich's ja auch noch für id3v2 hin. durchgeknallt
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 16.07.2006, 12:00    Titel: Antworten mit Zitat

Dusky_Joe hat Folgendes geschrieben:
Anyway, gibt's spezielle dinge, die man vor der erstanwendung wissen sollte?
Schau einfach mal ins deutsche AutoIt-Forum(das RICHTIGE)
Da sind jede Menge Infos, Skripts(nicht nur von mir..), usw..
Du solltest über die letzte Stable-Version stets die neueste Beta installieren..
(Ich kann nicht glauben, daß ich das geschrieben habe vor lachen auf dem Boden rollen)
[Edit]
Korrektur:Nicht alles was geschrieben steht, ist stets richtig zwinkern
Die deutsche Hilfe(if any) ist ein wenig veraltet, lieber die Englische benutzen..
..und installiere dir SciTE, der ist gut zum Editieren der au3-files..
..ach eigentlich ist kaum was zu beachten, wie du siehst lachen
Give it a try, it's worth it..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..

Zuletzt bearbeitet von ytwinky am 22.07.2006, 12:15, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.07.2006, 13:13    Titel: Antworten mit Zitat

So, fertig. ID3V2 mit FB-pur... grinsen Download hier Das ZIP-Archiv enthält den Quellcode und eine kompilierte EXE zum Sofort-Ausprobieren. lächeln

Viele Grüße und viel Spaß damit!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 21.07.2006, 15:13    Titel: Antworten mit Zitat

Echt spitze, Sebi! Ich danke sehr!

hatte zwar die Woche über angefangen, die AutoIT-Scripts zu übersetzen, auf die ytwinky mich aufmerksam gemacht hat, aber dank herrlichsten Zeitmangels konnte ich mir nur einen groben überblick verschaffen.

However, jetzt liegt es wohl an mir, meine Zeit so einzuteilen, dass die nötig gewordenen Ref-änderungen UND dieses Proggi fertig werden.

Für die optimale Traumlösung fehlt zwar noch die automatische Erkennung, ob denn V1 oder V2 gelesen werden soll, aber das bekomm ich doch noch alleine hin.

Der Platz in den Credits ist dir sicher. Übrigens glaube ich, dass sich der Code auch auf deiner HP ganz gut machen würde, was denkst du?
Danke auch nochmal an ytwinky, dank deiner Recherchen habe ich jetzt schon mal ne gute Vorstellung von der Struktur einer MP3. Ich schätze, es ist nru fair, deine Mühen auch in den Credits zu erwähen zwinkern


Have a nice day
Ciao
Dusky_Joe
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.07.2006, 15:28    Titel: Antworten mit Zitat

Dusky_Joe hat Folgendes geschrieben:
Echt spitze, Sebi! Ich danke sehr!

Hab ich gern gemacht. zwinkern

Dusky_Joe hat Folgendes geschrieben:
Der Platz in den Credits ist dir sicher.

Super, danke! lächeln

Dusky_Joe hat Folgendes geschrieben:
Übrigens glaube ich, dass sich der Code auch auf deiner HP ganz gut machen würde, was denkst du?

Ja, würd ich auch sagen. Nach dem Urlaub mache ich mich mal dran, die ID3Tag-Codes und ein weiteres Codebeispiel für einen DSL-Verbindungsmonitor auf die Seite zu laden. lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 21.07.2006, 15:52    Titel: Antworten mit Zitat

Dusky_Joe hat Folgendes geschrieben:
Ich schätze, es ist nru fair, deine Mühen auch in den Credits zu erwähen zwinkern
Boah, das geht runter wie Öl..
Merci infiniment
Ooops,
[/Französisch]
Danke vielmals
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz