[Tech] Consiglio per scrivere un Header-wave

Gianni Bianchini giannibi@firenze.linux.it
Gio 20 Maggio 2004 19:17:40 CEST


Il mer, 2004-05-19 alle 18:02, Valerio Montagnani ha scritto:

> Il problema di oggi consiste nella scrittura di un Header per un file wave.

> RIFF|dim|WAVE|fmt |16|1|2|8000|32000|4|16|data|1920000|

> La mia domanda, a questo punto è: di che tipo devo definire il 
> buffer per accogliere queste informazioni?
> E' sufficiente definirlo:
> char buffer[44];

La cosa piu' pulita credo sia definire una struct wavHdr con tutti i
campi dell'header ciascuno con la propria dimensione, allocarla,
scrivere i campi uno per uno e poi scrivere sizeof(struct wavHdr) bytes
sul file usando write().

typedef struct wavHdr {
   BYTE1 riff[4];
   BYTE4 bytestoend;
   BYTE1 wavetxt[4];
   BYTE1 fmttxt[4];
   BYTE4 formatsize;  
   BYTE2 format;          
   BYTE2 channels;           
   BYTE4 samplerate;      
   BYTE4 avgbyterate;     
   BYTE2 samplebytes;         
   BYTE2 channelbits;         
   BYTE1 datatxt[4];
   BYTE4 blocksize;
} tWavHead;

Ciao.
Gianni.



Maggiori informazioni sulla lista flug-tech