//! Returns true if the current OpenAL implementation supports capturing audio
virtualboolisSupported()=0;
//! Returns true if the capture device is ready to be used. False may indicate an error with the current settings.
virtualboolisReady()=0;
//! Returns the frequency that the captured audio will be at
virtualunsignedintgetFrequency()=0;
//! Returns the format of the captured audio
virtualAudioFormatsgetFormat()=0;
//! Returns the internal OpenAL buffer size in bytes
virtualunsignedintgetInternalBufferSize()=0;
//! Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries
virtualunsignedintgetSampleSize()=0;
//! Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use may lead to a loss of audio data.
/** \return True on success, False if the capture device failed to initialize. */
virtualboolsetFrequency(unsignedintfrequency)=0;
//! Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use may lead to a loss of audio data.
/** \return True on success, False if the capture device failed to initialize. */
virtualboolsetFormat(AudioFormatsformat)=0;
//! Sets the internal buffer size that OpenAL will use to store captured audio between calls to IAudioManager::update() in bytes. Will cause the capture device to be reinitialized. Calling while in use may lead to a loss of audio data.
/** \return True on success, False if the capture device failed to initialize. */
//! Starts capturing audio data to an internal buffer. Will clear any old data in the buffer.
/** \return True if capture was successfully started. */
virtualboolbeginCapture()=0;
//! Stops capturing audio data to an internal buffer.
virtualvoidstopCapture()=0;
//! Allows access to the audio data in the internal capture buffer
/** Can be called at any time to retrieve recorded audio. It is recommended that you call it every so often to prevent the internal buffer from growing too large.