|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2009
Messaggi: 102
|
[C] stream da microfono
salve, ho in mente di creare una chat vocale (o meglio ci voglio provare) e per ora ho un unico problema, reperire un flusso audio dal microfono (magari con qualche libreria amr) googlando ho trovato qualcosa, ma nn propio ciò che cerco.
chi sa aiutarmi ? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jul 2009
Messaggi: 102
|
up
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2009
Messaggi: 102
|
sto provando con portaudio, ma ho alcuni problemi:
Codice:
double srate = 44100; PaStream *stream; unsigned long framesPerBuffer = 256; PaStreamParameters outputParameters; PaStreamParameters inputParameters; char *sampleBlock; err = Pa_Initialize(); if( err != paNoError ) MessageBox(NULL, "errore inizializzazione", "Info", MB_ICONINFORMATION | MB_OK);; /* -- setup input and output -- */ inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */ inputParameters.channelCount = 2; inputParameters.sampleFormat = srate; inputParameters.suggestedLatency = Pa_GetDeviceInfo( inputParameters.device )->defaultHighInputLatency ; inputParameters.hostApiSpecificStreamInfo = NULL; outputParameters.device = Pa_GetDefaultOutputDevice(); /* default output device */ outputParameters.channelCount = 1; outputParameters.sampleFormat = srate; outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultHighOutputLatency; outputParameters.hostApiSpecificStreamInfo = NULL; /* -- setup stream -- */ err = Pa_OpenStream(&stream,&inputParameters,&outputParameters,srate,framesPerBuffer,paClipOff,NULL,NULL); if( err != paNoError ){ sprintf(tmp,"errore: %d",err); MessageBox(NULL, tmp, "Info", MB_ICONINFORMATION | MB_OK); } /* -- start stream -- */ err = Pa_StartStream( stream ); if( err != paNoError ) MessageBox(NULL, "errore startStream", "Info", MB_ICONINFORMATION | MB_OK); /* -- Here's the loop where we pass data from input to output -- */ for( i=0; i<(60*srate)/framesPerBuffer; ++i ) { err = Pa_WriteStream( stream, sampleBlock, framesPerBuffer); if( err ) MessageBox(NULL, "boooo", "Info", MB_ICONINFORMATION | MB_OK); err = Pa_ReadStream( stream, sampleBlock, framesPerBuffer); if( err ) MessageBox(NULL, "boooo1", "Info", MB_ICONINFORMATION | MB_OK); } /* -- Now we stop the stream -- */ err = Pa_StopStream( stream ); if( err != paNoError ) MessageBox(NULL, "pre last error", "Info", MB_ICONINFORMATION | MB_OK);; /* -- don't forget to cleanup! -- */ err = Pa_CloseStream( stream ); if( err != paNoError ) MessageBox(NULL, "last error", "Info", MB_ICONINFORMATION | MB_OK);; Pa_Terminate(); return 0; mi da errore quando apro lo stream, mi dice (variabile) err=-9994 cercando ho trovato che il samplerate (srate=44100) nn e supportato... sono andato nel driver audio per verificare tali parametri e vanno bene.. ho abbassato il bit depth a 16-bit dai 24 che era.. ma nnt.. naturalmente ho incluso portaudio.h qualcuno sa aiutarmi ?? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:30.