D Paste by bmeck
Description: openal recording problem
Hide line numbers

Create new paste
Post a reply
View replies

Paste:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
    //Setup Recording Device
    auto captureDevice = alcCaptureOpenDevice(
        deviceName /*Just get first one*/,
        240 /*Frequency*/,
        AL_FORMAT_STEREO16,
        102400 /*102400 * 4 byte buffer minimum*/
    );
    
    //Capture!
    alcCaptureStart(captureDevice);
    int frameCount;
    do
    {
        alcGetIntegerv(captureDevice,ALC_CAPTURE_SAMPLES,1,&frameCount);
    }
    //10 Seconds at least
    while(frameCount <= 2400);
    //Stop since we are done
    alcCaptureStop(captureDevice);
    
    //Setup Buffer
    size = cast(uint)frameCount * 4;
    void[] buff = new void[frameCount * 4];
    alcCaptureSamples(captureDevice,buff.ptr,frameCount);
    
    //Close Recording Device
    alcCaptureCloseDevice(captureDevice);
    
    // Initialize Open AL
    auto outdevice = alcOpenDevice(null); // open default device
    if (outdevice != null)
    {
        auto context=alcCreateContext(outdevice,null); // create context
        if (outdevice != null)
        {
            alcMakeContextCurrent(context); // set active context
        }
    }

Replies:
No replies posted yet