Newsgroup: it.comp.lang.visual-basic
Titolo: Leggere i tag di un mp3...Marco Frazzoli dove sei?!?!

Salve,
stň vedendo un sorgente scritto da Marco Frazzoli sulla gestione dei
tag degli mp3, non c'č nessun riferimento (mail, cellulare :)) ) o
altro di questo tizio, se segue il ng che mi dia una voce che devo
chiedergli una cosa.
Ok, ora posto per tutti, nel modulo c'č:
' Apro il file in sola lettura
Open fn For Binary Access Read As 1
' Prendo la lunghezza del file e ci sottraggo 127 per potermi 
' posizionare al punto giusto del file
lf = LOF(1) - 127
If lf < 128 Then
    Close 1
    ReadID3 = False
    Exit Function
End If
Per quale motivo a me LOF(1) mi ritorna sempre 0?
Saluti...

 altro di questo tizio, se segue il ng
questo "tizio", nonche' seguire il ng, tiene vivo il sito comune, e ha una
testolina (o testolona, vista la stazza :)) che pagherei per averla io. e,
anche piu' raro, ha anche un'anima...
quindi... RISPETTO, p.f.
:)


anche piu' raro, ha anche un'anima...
Hehehe, a me non l' hanno mai prensentato :)) Comunque, è possibile
sentirlo? Io devo chiedergli un paio di cose su un codice scritto da
lui...e pure te che ultimamente non posti più niente sotto i miei
messaggi che non siano correzioni grammaticali o cose varie, vedi un
po di darti da fare come facevi prima che mi spiegavi smepre un sacco
di cose :))) Che le mie domande siano diventate troppo difficili?
Hehehe una volta però ti ho bloccato sulla programmazione a oggetti
dove hai passato la palla :))
Guarda se mo si offende e non mi risponderà per tutta la vita :))
Saluti!!

 Saluti...

Sei sicuro che fn contenga il nome corretto del file?
Sembrava che lo mantenesse :))
Saluti...

 Per quale motivo a me LOF(1) mi ritorna sempre 0?
come dice basty, il file esiste ?

un po':
Si però te sei uno di quelli che non ho mai visto postare un messaggio
sul come si fa...le cose sono due:
1) sai fare tutto
2) non c' hai da fare niente :))
Cioè ma possibile che non c'è una cosa che a te, Borrelli
(sacrilegio!!) o altri non faccia venire un dubbio da chiedere ad
altri? Approposito, ma Borrelli che fine ha fatto? Prima postava
tanto...a me quello mi piace proprio (in senso tecnico) eh!!
Vabbè va, saluti...

 Saluti...
Saluti
Ciao

 2) non c' hai da fare niente :))
ce n'e' delle altre:
1. ti sei perso un po' di ng
2a. c'ho (come diresti tu) da fare tutto
2b. non so fare gnente
2ergo. non mi ci metto nemmeno, tanto...

 Comunqe come dici (anzi digiti) tu skunk: "ai poster l'ardua sentenza".
cioe': l'appendiamo al muro ? (l'ardua sentenza, non skunk).
si', basty, concordo con la tua impostazione. in questo caso non cambia
molto, if lof()=0 then non c'era. pero' anche a me piacciono le cose piu'
nitide nel progetto (design :).
ciao, a.

     Close 1
... e qui
Close #1
?
Faber

quindi se lo vedo per cliccarci sopra dovrebbe anche esistere :)
Controlla che non sia di lunghezza 0, come dice basty.
Io comunque uso un metodo un po' diverso:
Dim sData As String * 3
 
    Open vNewValue For Binary Access Read As #iFreefile
 
        Seek #iFreefile, LOF(iFreefile) - 127
        Get #iFreefile, , sData
 
        If sData = "TAG" Then
            Get #iFreefile, , vTitolo
            Get #iFreefile, , vAutore
            Get #iFreefile, , vAlbum
            Get #iFreefile, , vAnno
            Get #iFreefile, , vCommenti
            Get #iFreefile, , vTraccia
            Get #iFreefile, , vGenere
            If vGenere > 148 Then vGenere = 148
        End If
 
    Close #iFreefile
Questo è l'estratto di  una classe che ho scritto un annetto fa per leggere tutte le info di un file
mp3, non solo i tag ma anche durata, bitrate, samplerate, ecc. ecc. che non ho ho mai finito...(mi
manca sono di perfezionare la gestione dei VBR... vabbé...)
In ogni caso, vNewValue è il nome del file, vTitolo, vAutore, ecc. sono le variabile che contengono
le info sul file (TAG)
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

voglio che sia la OPEN a farlo)
funziona cosi' con il 90% dei linguaggi di programmazioe, credo
per una volta VB e' innocente

 
il cancelletto e' opzionale !

 
controllato che ti trovi nella directory  giusta ? 
non e' che tentavi di aprirlo nella directory corrente del programma e
non in quella del folder* ?

manca sono di perfezionare la gestione dei VBR... vabbé...)
E questa è una cosa buona che ti copierò :) Se mi fai vedere qualcosa
di quello che hai scritto tu...
Saluti...

di quello che hai scritto tu...
E' già un anno che volevo inviarla sul SC (ma mi sembra che poi ci ha pensato già qualcun altro):
non l'ho fatto perché volevo migliorarla: ora legge solo i VBR compressi con Xing, ma volevo fare in
modo che legga tutti i VBR....
Ciao,
Moreno


A FileLen - 127 c'č scritto "TAG" (se ci sono i tag...)
Giusto per completezza:
Il tag č una stringa di 128 bytes cosě suddivisa:
30 bytes per il titolo, 30 per l'autore, 30 per l'album, 4 per l'anno, 30 per il commento ed 1 per
il genere.
Totale? 125 + 3 della stringa "TAG"= 128
Nella versione 1.1 dell'ID3, viene rubato un byte al commento (l'ultimo) per specificare il numero
della traccia del disco.


ora legge solo i VBR compressi con Xing, ma volevo fare in modo che legga tutti i VBR....
Che sarebbero?
Saluti...

Che sarebbero?
VBR = Variable BitRate
In pratica il bitrate varia durante il brano in base alle frequenze emesse in quel momento: un range
di frequenze più ampio comporta una compressione minore, un range di frequenze più ristretto una
compressione maggiore; in questo modo viene assicurata una qualità costante durante il brano (se ci
sono zone di solo parlato, ecco che l'intervallo di frequenze emesse in quel momento è più
ristretto, si tratta di frequenze medie e la compressione può essere maggiore senza perdere troppo
in qualità (anche 64K); se ci sono brani con archi, tuba, pianoforte, invece, l'intervallo di
frequenze emesse è maggiore e di conseguenza, per garantire una miglior qualità, la compressione
sarà minore (anche >196K).
OK, invierò sul SC la classe così com'è ora e, quando avrò un po' più di tempo, la completerò.
