Visioner les tags d'un fichier mp3

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Visioner les tags d'un fichier mp3

Message par Parole De JOJO »

Code : Tout sélectionner

; Info Tag-Music
;****** Programme par:
;****** Parole de JOJO

Global mss.s
Procedure Ready(tttt.s,display.s)
FileSeek(0,0):Repeat
li1.s= ReadString(0,#PB_Ascii):find=FindString(li1,tttt,0)
If Eof(0):find=10000:EndIf
Until find<>0:If find<>10000:loc1=Loc(0)
mem=AllocateMemory(20):ReadData(0,Mem,20)
FileSeek(0,loc1+2):len=ReadCharacter(0)
FileSeek(0,loc1+6):memo=AllocateMemory(len-1)
ReadData(0,memo,len-1):FileSeek(0,loc1+6)
gh.s= ReadString(0,#PB_Ascii):alb.s=Mid(gh,1,Len(gh)-4)
mss+display+" : "+alb+Chr(10):EndIf:
EndProcedure

fil.s=OpenFileRequester("","","*mp3|*.MP3",0):If OpenFile(0,fil)

; DEBUT
Mem=AllocateMemory(3):ReadData(0,Mem,3):id3.s=PeekS(Mem,3)
If id3="ID3":mss+"Il y a des donnees ID3 au debut"+Chr(10)
FileSeek(0,3):mss+"ID3 version "+Str(ReadByte(0))+Chr(10)
mss+"Autres infos : "+Str(ReadByte(0))+";"+Str(ReadByte(0))+";"+Str(ReadByte(0))+";"+Str(ReadByte(0))+";"+Str(ReadByte(0))+";"+Str(ReadByte(0))+Chr(10)

Ready("TIT2","Titre"):Ready("TPE1","Artiste")
Ready("TALB","Album"):Ready("TYER","Year")
Ready("TRCK","Track"):Ready("COMM","Comment"):Ready("TCON","Genre")
mss+Chr(10)+Chr(10):EndIf

; FIN
MemPointer=AllocateMemory(128):FileSeek(0,Lof(0)-128):ReadData(0,MemPointer,128):tag.s=PeekS(MemPointer,3)
If tag="TAG":mss+"Il y a des donnees TAG a la fin"+Chr(10)
mss+"Titre : "+Trim(PeekS(MemPointer+3,30))+Chr(10)
mss+"Artiste : "+Trim(PeekS(MemPointer+33,30))+Chr(10)
mss+"Album : "+Trim(PeekS(MemPointer+63,30))+Chr(10)
mss+"Year : "+Trim(PeekS(MemPointer+93,4))+Chr(10)
mss+"Comments : "+Trim(PeekS(MemPointer+97,30))+Chr(10)
mss+"Genre : "+Str(PeekB(MemPointer+127))+Chr(10):EndIf

CloseFile(0):MessageRequester(fil,mss):EndIf
merci a tout ceux qui m'ont aide a comprendre les tags
Dernière modification par Parole De JOJO le ven. 17/sept./2010 9:50, modifié 2 fois.
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Visioner les tags d'un fichier mp3

Message par boddhi »

Code : Tout sélectionner

If OpenFile(0,fil)
Il est préférable d'utiliser la fonction ReadFile().
Car dans le cas où l'utilisateur (parfois pervers :D) saisit un nom de fichier inexistant, ton code, comme tu n'as implémenté aucune gestion des erreurs, plantera...
Quelques conseils : Améliore la lisibilité de ton code, crée une gestion des évènements erreurs, il y également la possibilité d'améliorer le code lié à la lecture des champs ID3 :)
Répondre