PDA

Visualizza la versione completa : [c++] programma per i wave


raphi01
19-11-2003, 17:04
Ciao a tutti

se avete tempo e, soprattutto, voglia date un'occhiata al mio problema..
on line ho trovato un programma per gestire wave e sto cercando di modificarlo (questo e' il link per i sorgenti: wave.zip (http://fisicavolta.unipv.it/percorsi/paths/wave.zip) [48k])
funziona da linea di comando: registra quello che passa sul device audio e crea, una volta stoppata l'esecuzione premendo 's' da tastiera, un file rec.wav nella cartella 'wave'.

quello che sto cercando di fare e' questo:
- nel main decido il formato del .wav (mono, 44100Hz, 16bit) e avvio la registrazione con 'waveIn.Record()':
-- la funzione 'waveInProc' legge da device e crea una lista di buffer con la funzione 'AddNewBuffer' in cui mette i campioni con la funzione 'AddNewHeader'.
- sempre nel main chiamo la funzione 'waveIn.Hashlk()' definita nella classe 'CWaveIn'. Dentro questa faccio:
-- ciclo while -> l'esecuzione continua finche' non viene premuto il tasto 's'
-- conto i buffer creati con 'm_listOfBuffer.GetCount()'. Se sono almeno 32 (=frame_size/512=16384/512) faccio i conti che mi servono. Nel ciclo 'while (contatore_pos_hashlk <= 31)' metto insieme i 32 buffer che mi servono copiandoli (col 'CopyMemory') in 'pBuffer_hashlk' e poi cancello il primo dei buffer

..e' giusto quello che ho fatto??
pBuffer_hashlk, come l'ho definito, rappresenta il puntatore al primo elemento della lista dei buffer??
come faccio a fare i conti su quei 16384 campioni??

spero che la spiegazione non sia stata troppo incasinata..
ciao e grazie

raphi01
24-11-2003, 15:48
scusate se disturbo ancora un po'..
non avete idee per aiutarmi??..
grazie ancora e ciao!

Loading