Kleiner Vorschlag für Tipps und Tricks

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Kleiner Vorschlag für Tipps und Tricks

Beitrag von dllfreak2001 »

Hey wie wäre es wenn jemand in die Tipps und Tricks die Regeln für das auslesen von ID3-Tags einfügt?

Am besten wenn noch jemand etwas findet womit man auch v2-Tags auslesen kann.

Hier ne gute Seite:

http://id3lib.sourceforge.net
[/url]
I´a dllfreak2001
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Ich meinte eigentlich das jemand die Regeln für das auslesen von ID3Tags ins Tipps/Troicks Forum reinsetzt.
Ist ja ziemlich leer und sowas würde ich zu den sinvollen Einträgen zählen.
I´a dllfreak2001
Kristel
Beiträge: 72
Registriert: 30.08.2004 00:17

Beitrag von Kristel »

dllfreak2001 hat geschrieben:Ich meinte eigentlich das jemand die Regeln für das auslesen von ID3Tags ins Tipps/Troicks Forum reinsetzt.
Da hasste eine Aufgabe für dich. :wink:
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Naj bin ja nicht so gut beim erklären.

Wenn aber mir noch jemand ne Ressource im I-Net zeigt wo man
noch Infos ID3v2 Tag findet wäre ich zufrieden!

Das ist nur für v1

Code: Alles auswählen

Procedure.s id3v1tag(flnm.s,msdtype.l)

  Dim infotag078.b(128)
ReadFile(0,flnm)
 flngth.l = Lof()
 FileSeek(flngth-128)
 x.l = 0
 Repeat
  x + 1
  infotag078(x) = ReadByte()
 Until Eof(0)
CloseFile(0)

tempostringo.s = Chr(infotag078(1))+Chr(infotag078(2))+Chr(infotag078(3))


If msdtype = 0 
 If tempostringo = "TAG"
  infos.s = "1"
  ProcedureReturn infos
 Else
  infos.s = "0"
  ProcedureReturn infos
 EndIf
EndIf



If tempostringo = "TAG"
 If msdtype = 1
  tempostringo = ""
   For x = 4 To 33
    tempostringo = tempostringo + Chr(infotag078(x))
   Next
   ProcedureReturn tempostringo
 EndIf 

 If msdtype = 2 
    tempostringo = ""
    For x = 34 To 63
     tempostringo = tempostringo + Chr(infotag078(x))
    Next
   ProcedureReturn tempostringo
 EndIf 

 If msdtype = 3 
  tempostringo = ""
  For x = 94 To 97
   tempostringo = tempostringo + Chr(infotag078(x))
  Next
  ProcedureReturn tempostringo
 EndIf 

 If msdtype = 4 
  tempostringo = ""
  For x = 98 To 127
   tempostringo = tempostringo + Chr(infotag078(x))
  Next
  ProcedureReturn tempostringo
 EndIf 

 If msdtype = 5 
  ProcedureReturn Chr(infotag078(128))
 EndIf 
EndIf

EndProcedure


filename.s = OpenFileRequester("Öffnen","","*.mp3",0)

If filename <> ""
 MessageRequester("Infotag",id3v1tag(filename,0))
 MessageRequester("Infotag",id3v1tag(filename,1))
 MessageRequester("Infotag",id3v1tag(filename,2))
 MessageRequester("Infotag",id3v1tag(filename,3))
 MessageRequester("Infotag",id3v1tag(filename,4))
 MessageRequester("Infotag",id3v1tag(filename,5))
 
EndIf

:freak:
I´a dllfreak2001
Benutzeravatar
Rob
Shadow Admin
Beiträge: 258
Registriert: 26.08.2004 01:39
Kontaktdaten:

Beitrag von Rob »

Irgendwie sinnlos der Thread...

Infos zu ID3v2 gibts z.B. über Google: [google]ID3v2[/google]. Erstes Ergebnis, "In depth information".
Build a man a fire and he's warm for a day. Set a man on fire and he's warm for the rest of his life
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Habe das total übersehen thx ROB.
I´a dllfreak2001
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag von redacid »

Warum so umständlich mit Array? Diese Art und Weise reicht doch: http://purearea.net/pb/CodeArchiv/Music ... v1-Tags.pb
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Ich bin jaeigentlich noch am Anfang meiner PB-Karierre daher hebe ich
noch nicht viel mit dem auslesen von einzelnen Tags und Headern rumgespielt. Mit ein Grund warum ich den Peek-Befehlen bis jetzt keine Beachtung geschenkt habe.
Super den Code werde ich mir merken
I´a dllfreak2001
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag von redacid »

dllfreak2001 hat geschrieben:Ich bin jaeigentlich noch am Anfang meiner PB-Karierre daher hebe ich
noch nicht viel mit dem auslesen von einzelnen Tags und Headern rumgespielt. Mit ein Grund warum ich den Peek-Befehlen bis jetzt keine Beachtung geschenkt habe.
Super den Code werde ich mir merken
Ach so, ich hatte irgendwie das Gefühl, dass du schon "weiter" bist. Aber mit den Kommentaren, die ich da damals eingefügt hatte, solltest du eigentlich klar kommen. Schließlich ist der Code im Grunde sehr übersichtlich. Es lässt sich daraus auch leicht eine Procedure schreiben.

Bei weitergehenden Fragen kannst du natürlich gerne im Forum (oder direkt bei mir) anfragen.

Ansonsten ist es immer von Vorteil, die PureArea einmal zu durchforsten, besonders das Codearchiv.

Ach ja, diese Anfrage hat natürlich nicht viel mit API zu tun und wird deshalb besser in die Laberecke verschoben.
Antworten