Sviluppo4d.it
Sito indipendente di informazioni tecniche per sviluppatori 4th Dimension italiani  

Sviluppatori 4D

Utility 4D

Risorse 4D



4d logo
Naviga: Prev Next

Titolo: Leggere i tag ID3 di un file MP3

Categoria: Codice Ultimo Aggiornamento: 24/10/05


Tutto quello che serve per ascoltare un file MP3 è un lettore di file MP3! All'interno di questi file sono celate delle informazioni suppletive sul brano.
Un esempio di struttura di tali tag:

000-002 03 bytes TAG ID -> "TAG"
003-032 30 bytes Titolo del brano
033-062 30 bytes Nome dell'interprete
063-092 30 bytes Album
093-096 04 bytes Anno
097-127 30 bytes Commenti
128-128 01 byte Tipo

Utilizzando i comandi Open document, SET DOCUMENT POSITION e RECEIVE PACKET possiamo scriverci un metodo che inserisce in un array (passato come secondo parametro) i tag ID3 di un file MP3 (il cui percorso completo viene passato come primo parametro).

C_TEXT($1) `percorso del file
C_POINTER($2) `puntatore all'array con 7 posti che riceve i tag
C_TEXT($MyText)
C_STRING(3;$Tag)
C_LONGINT($MyOffset)
$RefDoc:=Open document($1;"")
If (ok=1)
      `Leggo gli ultimi 128 bytes del file MP3
      SET DOCUMENT POSITION($RefDoc;-128;2)
      RECEIVE PACKET($RefDoc;$MyText;500)
      CLOSE DOCUMENT($RefDoc)
  
      $Tag:=$MyText[[1]]+$MyText[[2]]+$MyText[[3]]
      If ($Tag="TAG") `c'è un tag MP3
           $2->{1}:=EliminaSpazi (Substring($MyText;4;30))
           $2->{2}:=EliminaSpazi (Substring($MyText;34;30))
           $2->{3}:=EliminaSpazi (Substring($MyText;64;30))
           $2->{4}:=EliminaSpazi (Substring($MyText;94;4))
           $2->{5}:=EliminaSpazi (Substring($MyText;98;30))
           If ((Ascii(Substring($MyText;128;1))+1)<=Size of array(<>tType))
           $2->{6}:=<>tType{Ascii(Substring($MyText;128;1))+1}
           End if
      Else
           ALERT("No MP3 Tag.")
        End if
        $2->{7}:=$1
End if

Il metodo EliminaSpazi si trova in questa faq.


Inviato da: PierPaolo Sichera Visite: 12684

Se accedi con utente e password, puoi aggiungere dei commenti.


Accesso

User:
Pass: Accedi

Cerca

Se non trovi le informazioni che cerchi scrivi a aiuto@sviluppo4d.it

4D Principali

4D Discussioni

Faq random


Crediti

Dominio registrato da ZetaNet
Sito realizzato da Nexus srl
4D SQL 11.9.0 offerto da 4D & Italsoftware
Icone di FAMFAMFAM
Moderato da Umberto Migliore
317 utenti registrati

Pagina servita il 05/10/24 alle 04:23:55 Valid HTML 4.01! Valid CSS!

Mutuo Facile, iDigitalScout, iDigitalTags e altre app di Nexid srl per iPhone e iPad

Cidroid, distributore italiano lettori barcode per IOS Apple iPhone, iPod, iPad