Autore Topic: Lettura tag id3 di file mp3  (Letto 4663 volte)

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Lettura tag id3 di file mp3
« il: 25 Gennaio 2010, 20:03:00 »
dopo qualche ricerca in rete ho capito che i tag id3 per file mp3 non sono leggibili da nessun modulo di gambas, l'unico modo per sfruttarli è ricorrere a programmi esterni, tipo mplayer per intenderci.

a questo punto, dato che i moduli di gambas sono scritti in C, secondo voi è possibile aggiungere il supporto ai tag id3 facendo ovviamente riferimento a librerie esterne? qualcuno di voi è disposto ad aiutarmi in questo progetto?
il mio progetto -> SITO

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #1 il: 25 Gennaio 2010, 20:36:33 »
ma allora ti devo fustigare!!!!!!!

tempo fa ti ho postato il mio Gplay dicendoti che poteva servirti per ricavare la funzione di lettura dei tag!!! :-\ che per inciso usa le funzioni base di gambas senza dover ricorrere ad Mplayer


[ho spostato la discussione in programamzione ed ho cambiato il titolo, la modifica dei componenti di gambas è cosa molto lunga e tediosa, inoltre non sempre le modifiche vengono accettate dal team di gambas vedi qui: http://www.gambas-it.org/smf/index.php?topic=844.0
« Ultima modifica: 25 Gennaio 2010, 20:49:16 da fsurfing »

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: Lettura tag id3 di file mp3
« Risposta #2 il: 27 Gennaio 2010, 21:13:59 »
hai perfettamente ragione ;D

stavo dando un occhio al tuo programma e non può che sorgermi spontanea una domanda :)
stavo guardando dove leggi i tag id e da quello che mi pare di capire lo fai nel modulo "tag" il problema è che non capisco il come!! sai non voglio fare dei copia e incolla cosi alla cavolo... anzi vorrei evitare del tutto i copia e incolla!

vedo che apri il file in binario e poi comincia a lavorarci sopra come fosse una stringa!! e qui c'è qualcosa che non mi torna ???
non è che potrei avere qualche delucidazione sul metodo da te usato? ;)
il mio progetto -> SITO

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #3 il: 27 Gennaio 2010, 22:22:00 »
be per riuscire a scrivere quel codice ho faticato due giorni per studiare la struttura di un tag mp3 ......e adesso non mi ricordo + nulla , mi ricordo solo che il file mp3 all' inizio contiene le informazioni dei tagche a seconda della versione possono occupare una lunghezza fissa o variabile, questo è tuttp cio che ricordo :) per fortuna ch e ho scritto un sacco di commenti nel codice ahahahahahah

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: Lettura tag id3 di file mp3
« Risposta #4 il: 27 Gennaio 2010, 22:43:25 »
allora semplifichiamo la questione... in quale variabile salvi la lunghezza della canzone? perchè ho provato a stampare size,size1,size2, size3 e pos (dato che mi sembravano le migliori candidate ad assumere il valore della lunghezza) ma non mi stampa un accidente  ???
il mio progetto -> SITO

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: Lettura tag id3 di file mp3
« Risposta #5 il: 01 Febbraio 2010, 22:42:29 »
up  :(
il mio progetto -> SITO

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Lettura tag id3 di file mp3
« Risposta #6 il: 02 Febbraio 2010, 00:29:27 »
Non sono consentiti up...abbiamo un forum ancora troppo poco "inondato di messaggi" per tollerare un up...

Spero non riaccada...

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #7 il: 02 Febbraio 2010, 09:19:56 »
il codice non è realizzato per ricavare la lunghezza di una canzone ma solamente i titoli, inoltre se l' mp3 utilizza tag IDV3v1 mi pare che non memorizzi la durata .
riguardando il codice mi sembra veramente molto elementare da capire, se si tratta di un idv3v1 per ogni tag è disponibile una dimensione fissa di caratteri per cui si possono leggere semplicemente con dei mid()

Codice: [Seleziona]
IF Left$(tag, 3) = "TAG" THEN 'controlla se è un idv3 v1
 
       
       
        'effettua la lettura dei tag
        FMain.tag_titolo = Trim$(Mid$(tag, 4, 30))
        FMain.tag_artista = Trim$(Mid(tag, 34, 30))
        FMain.tag_album = Trim$(Mid(tag, 64, 30))
        FMain.tag_anno = Trim$(Mid(tag, 94, 4))
        FMain.tag_commento = Trim$(Mid(tag, 98, 28))
        FMain.tag_null = Trim$(Mid(tag, 126, 1))
        FMain.tag_traccia = Trim$(Mid(tag, 127, 1))
        FMain.tag_genere = Trim$(Mid(tag, 128, 1))
 

se si tratta di un idv3v2 lo spazio relativo ad ogni tag non è fisso , quindi bisogna trovare l' inizio del tag e la sua fine  e poi leggerlo quindi per esempio per leggere il titolo:

Codice: [Seleziona]
pos = InStr(pippo, "TIT2")
        pos = pos + 4
        size = Asc((Mid$(pippo, pos, 1)))
        size1 = Asc((Mid$(pippo, pos + 1, 1)))
        size2 = Asc((Mid$(pippo, pos + 2, 1)))
        size3 = Asc((Mid$(pippo, pos + 3, 1)))
       
        FMain.tag_titolo = Mid$(pippo, pos + 7, size3 - 1)
       

quindi cerco TIT2 che indica l' inizio del tag titolo, poi tramite size3 leggo quanti caratteri impiega il tag ed infine  lo leggo

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: Lettura tag id3 di file mp3
« Risposta #8 il: 02 Febbraio 2010, 10:51:35 »
Non sono consentiti up...abbiamo un forum ancora troppo poco "inondato di messaggi" per tollerare un up...

Spero non riaccada...
chiedo perdono... farò in modo che non accada di nuovo :-[

@fsurfing: si si beh il codice effettivamente è abbastanza semplice è solo che io cercavo qualcosa che evidentemente non c'è ;D ti ringrazio!!
il mio progetto -> SITO

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #9 il: 02 Febbraio 2010, 13:33:10 »
Qualche tempo fa sulla ML internazionale, un utente Gambas
ha postato una classe (trovata in rete) che estrae, se può, tutte le info possibili
dal file mp3, senza appoggiarsi a tool esterni. Purtroppo
l'autore è ignoto, sto cercando su internet. Per adesso
vi lascio la classe. Saluti.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #10 il: 02 Febbraio 2010, 14:36:05 »
ma io continuo a non vedere i file allegati!

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Lettura tag id3 di file mp3
« Risposta #11 il: 02 Febbraio 2010, 14:40:31 »
ma io continuo a non vedere i file allegati!

idem per me..

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #12 il: 02 Febbraio 2010, 16:48:19 »
Io il file lo vedo solo se mi loggo.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Lettura tag id3 di file mp3
« Risposta #13 il: 02 Febbraio 2010, 18:13:11 »
io non li vedo neppure se son loggato

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: Lettura tag id3 di file mp3
« Risposta #14 il: 02 Febbraio 2010, 20:11:22 »
grazie giulio gli darò un'occhiata!!

io riesco a vederli e l'ho anche scaricato!!
il mio progetto -> SITO