一个古老的问题,但这是一个答案.如果我们真的想要简洁,它肯定可以修剪,但这有点不到100条有效线:
#include // OpenAL header files
#include
#include
using std::list;
#define FREQ 22050 // Sample rate
#define CAP_SIZE 2048 // How much to capture at a time (affects latency)
int main(int argC,char* argV[])
{
list bufferQueue; // A quick and dirty queue of buffer objects
ALenum errorCode=0;
ALuint helloBuffer[16], helloSource[1];
ALCdevice* audioDevice = alcOpenDevice(NULL); // Request default audio device
errorCode = alcGetError(audioDevice);
ALCcontext* audioContext = alcCreateContext(audioDevice,NULL); // Create the audio context
alcMakeContextCurrent(audioContext);
errorCode = alcGetError(audioDevice);
// Request the default capture device with a half-second buffer
ALCdevice* inputDevice = alcCapture