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:

ID3-Tag auslesen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 23.08.2007, 20:48    Titel: ID3-Tag auslesen Antworten mit Zitat

Hey Leute!
Für alle die es interessiert:
Ich habe mal eben eine Sub zum Auslesen der ID3-Tag Daten von mp3-Dateien geschrieben. Der Code schaut so aus:
Code:
Sub ID3TAG(byval filename as string, byref songtitel as string = "", byref _
    interpret as string = "", byref album as string = "", byref _
    erscheinungsjahr as string = "", byref genre as integer = -1,byref _
    kommentar as string = "")
   
    Dim tag as string
    f = freefile
    OPEN filename FOR BINARY AS #f
        a = (LOF(f)-128):seek f,a
        line input #f,tag
        b = instr(tag,"TAG")
        songtitel = mid(tag, b + 3, 30)
        interpret = mid(tag, b + 33, 30)
        album = mid(tag, b + 63, 30)
        erscheinungsjahr = mid(tag, b + 93, 4)
        genre = val(mid(tag, b + 127, 1))
        kommentar = mid(tag, b + 97, 30)
    CLOSE #f
end sub

Ich hoffe der Code erklärt sich soweit von selbst.
Beim Genre klappt da allerdings etwas nich so ganz wie es soll (Falls jemand irgend eine Ahnung hat was ich da nich ganz richtig mache bitte melden).
Der Genre wird als Zahl ausgegeben. Die Musikrichtungen und deren dazugehörigen Werte lassen sich hier nachschlagen:
http://www.flashworker.de/tutorial/58/001.html
Ansonsten gibts da nich mehr viel zu sagen. Also viel Spaß damit.
MfG Caran
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.08.2007, 20:55    Titel: Antworten mit Zitat

Hi, an sich nützlich, aber zu 50% lachen Die restlichen 50% sind für mich persönlich wichtig, weil ich ID3v2-Tags verwende und keine ID3v1 Tags, die du ausliest lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 23.08.2007, 21:11    Titel: Antworten mit Zitat

http://home.ssteiner.de/index.php?s=particles
http://home.ssteiner.de/index.php?s=particles&nr=3
http://home.ssteiner.de/index.php?s=particles&nr=4

Daher, gibte s das schon... trotzdem ein durchaus interessanter code...
(ist vorallendingen nicht soo riesig...)
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.08.2007, 22:14    Titel: Antworten mit Zitat

übrigens, in diesem fall würde sich eher ein TYPE als Rückgabetyp eigenen statt der vielen Parameter mittels byref. versuche einfach mal eine FUNCTION, die einen Typ zurückgibt, das ist eine schöne übung zwinkern
kleine hilfestellung:
Code:

type typID3
   .....
end type
Function ID3TAG(byval filename as string) as typID3
  ....
End Function

_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4699
Wohnort: ~/

BeitragVerfasst am: 24.08.2007, 00:35    Titel: Antworten mit Zitat

Und der Typ lässt sich evtl. später wunderbar erweitern, ohne dass sich der Funktionsaufruf ändert happy
Will heißen: wenn die Funktion ausgebaut wird, braucht ein altes Programm, das die Funktion einbindet, deswegen nicht umgeschrieben werden. Es wertet dann eben nicht alle Angaben des neuen Typs aus, funktioniert aber trotzdem.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 24.08.2007, 10:29    Titel: Antworten mit Zitat

Mit Type zu arbeiten war mir vor Kurzem noch ziemlich fremd, aber es hat in der Tat so seine Vorteile.
Zitat:
das ist eine schöne übung zwinkern
Ich werd das auch noch üben. Ich hab halt erst mit byref angefangen da ich das auch noch nich so kannte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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