Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Trovare codifica audio AVI
Forum - C# / VB.NET - Trovare codifica audio AVI

Avatar
VMikle (Ex-Member)
Rookie


Messaggi: 52
Iscritto: 14/09/2011

Segnala al moderatore
Postato alle 12:37
Martedì, 01/11/2011
Ciao ragazzi,
come vi procurereste il nome della codifica audio usata in un file AVI?
Per ora l'unica cosa che mi viene in mente è andare a tentoni, ovvero se WAVE mi da errore provo MPEG2, se anche quello è sbagliato vado di AC3 e così via, però mi rendo conto da solo di quanto sia patetico :pat:

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Up
2
Down
V
Segnala al moderatore
Postato alle 13:12
Martedì, 01/11/2011
Sono informazioni codificate all'interno del file.

Per identificarle ed estrarle devi seguire le "specifiche" del formato AVI RIFF.

Ovviamente non è semplice ma fattibile ... devi avere pazienza e seguire queste indicazioni dal sito MS

http://msdn.microsoft.com/en-us/library/windows/desktop/dd ...

Grazie della risposta, avevo già un'idea di come fosse strutturato un AVI nonostante l'articolo mi ha fatto scoprire le LIST (non capisco perché da altre parti vengono chiamate chunk anche loro), quello che mi sta creando scompensi però è il fatto che - VMikle - 01/11/11 15:07
AVIStreamReadFormat continui a restituirmi un numero negativo se uso come struttura un WAVEFORMATEX, quindi errore. Però se controllo i campi posso notare che contengono un valore, in particolare wFormatTag equivale a 85. Inizialmente avevo pensato che dipendesse dal fatto che Microsoft non - VMikle - 01/11/11 15:10
"coprisse" i codec audio che non fossero WAVE (e guarda caso so che in questo AVI è MPEG2 grazie ad un altro programma), ma leggendo con più attenzione msdn mi sono accorto che ci sono alcune costanti chiamate WAVE_FORMAT_MPEG e WAVE_FORMAT_MPEGLAYER3, quindi non capisco perché non ritorni 0 - VMikle - 01/11/11 15:12
85 indica un formato MP3 ... #define WAVE_FORMAT_MPEGLAYER3 0x0055 /* ISO/MPEG Layer3 Format Tag * - nessuno - 01/11/11 15:13
Sin qua c'ero arrivato anche io googlando il nome della costante, ma perché AVIStreamReadFormat mi restituisce -2147205004? °-° - VMikle - 01/11/11 15:26


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM