cAudio  2.3.0
3d Audio Engine
Public Member Functions | List of all members
cAudio::IAudioCapture Class Referenceabstract

Interface for capturing operations in the cAudio Engine. More...

#include <IAudioCapture.h>

Inheritance diagram for cAudio::IAudioCapture:
Inheritance graph
[legend]

Public Member Functions

virtual bool initialize (const char *deviceName=0x0, unsigned int frequency=22050, AudioFormats format=EAF_16BIT_MONO, unsigned int internalBufferSize=8192)=0
 Initializes the capture device to the selected settings. More...
 
virtual bool isReady ()=0
 Returns true if the capture device is ready to be used. False may indicate an error with the current settings.
 
virtual void updateCaptureBuffer (bool force=false)=0
 Grabs samples from the OpenAL buffer into the capture buffer if the OpenAL buffer has reached half full. Should be run once every audio frame, unless threading is enabled. More...
 
virtual void shutdown ()=0
 Shuts down the capture device, clearing the internal buffer and setting the audio capture into an uninitialized state. You must call initialize() again in order to reuse this object.
 
virtual bool isUpdateThreadRunning ()=0
 Returns if the thread used to update all Audio Capture Objects is running. More...
 
virtual const char * getDeviceName ()=0
 Returns the name of the audio device being used to capture audio.
 
virtual unsigned int getFrequency ()=0
 Returns the frequency that the captured audio will be at.
 
virtual AudioFormats getFormat ()=0
 Returns the format of the captured audio.
 
virtual unsigned int getInternalBufferSize ()=0
 Returns the internal OpenAL buffer size in bytes. More...
 
virtual unsigned int getSampleSize ()=0
 Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries. More...
 
virtual bool setDevice (const char *deviceName)=0
 Sets the audio device . Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer. More...
 
virtual bool setFrequency (unsigned int frequency)=0
 Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer. More...
 
virtual bool setFormat (AudioFormats format)=0
 Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer. More...
 
virtual bool setInternalBufferSize (unsigned int internalBufferSize)=0
 Sets the internal buffer size that OpenAL will use to store captured audio between calls to getCapturedAudio() in bytes. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer. More...
 
virtual bool beginCapture ()=0
 Starts capturing audio data to an internal buffer. Will clear any old data in the buffer. More...
 
virtual void stopCapture ()=0
 Stops capturing audio data to an internal buffer.
 
virtual unsigned int getCapturedAudio (void *outputBuffer, unsigned int outputBufferSize)=0
 Allows access to the audio data in the internal capture buffer. More...
 
virtual AudioCaptureBuffergetCapturedAudioBuffer ()=0
 this method is the same as getCapturedAudio but it returns an managed CaptureBuffer
 
virtual unsigned int getCurrentCapturedAudioSize ()=0
 Returns the current size of the internal audio buffer in bytes.
 
virtual void registerEventHandler (ICaptureEventHandler *handler)=0
 Registers a new event handler to this manager. More...
 
virtual void unRegisterEventHandler (ICaptureEventHandler *handler)=0
 Removes the specified event handler from this manager. More...
 
virtual void unRegisterAllEventHandlers ()=0
 Removes all event handlers attached to this manager.
 

Detailed Description

Interface for capturing operations in the cAudio Engine.

Definition at line 17 of file IAudioCapture.h.

Member Function Documentation

◆ beginCapture()

virtual bool cAudio::IAudioCapture::beginCapture ( )
pure virtual

Starts capturing audio data to an internal buffer. Will clear any old data in the buffer.

Returns
True if capture was successfully started.

Implemented in cAudio::cAudioCapture.

◆ getCapturedAudio()

virtual unsigned int cAudio::IAudioCapture::getCapturedAudio ( void *  outputBuffer,
unsigned int  outputBufferSize 
)
pure virtual

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 with long recordings to prevent the internal buffer from growing too large. Once successfully retrieved, the captured audio will be deleted from the internal buffer.

Parameters
outputBufferPointer to an output array to copy audio data to.
outputBufferSizeSize of the output array in bytes.
Returns
Size in bytes of the data actually copied to the output buffer.

Implemented in cAudio::cAudioCapture.

◆ getInternalBufferSize()

virtual unsigned int cAudio::IAudioCapture::getInternalBufferSize ( )
pure virtual

Returns the internal OpenAL buffer size in bytes.

Returns
Size of the buffer in bytes.

Implemented in cAudio::cAudioCapture.

◆ getSampleSize()

virtual unsigned int cAudio::IAudioCapture::getSampleSize ( )
pure virtual

Returns the size of a "sample" of audio data. Useful for making sure you grab audio data at sample boundaries.

Returns
Size of a sample in bytes.

Implemented in cAudio::cAudioCapture.

◆ initialize()

virtual bool cAudio::IAudioCapture::initialize ( const char *  deviceName = 0x0,
unsigned int  frequency = 22050,
AudioFormats  format = EAF_16BIT_MONO,
unsigned int  internalBufferSize = 8192 
)
pure virtual

Initializes the capture device to the selected settings.

Note that calling this will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters
deviceNameName of the audio device to capture audio from, pass NULL to specify the default one.
frequencyFrequency that the captured audio will be captured at in hertz.
formatFormat of the captured audio.
internalBufferSizeSize of the internal OpenAL buffer used to store the captured audio between calls to getCapturedAudio() in bytes.
Returns
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

◆ isUpdateThreadRunning()

virtual bool cAudio::IAudioCapture::isUpdateThreadRunning ( )
pure virtual

Returns if the thread used to update all Audio Capture Objects is running.

Note: Will always return false if threading is disabled. The library automatically shuts down the thread if no Audio Capture objects exist and will restart the thread on creation of a new object.

Returns
True if the thread is currently running, false otherwise.

Implemented in cAudio::cAudioCapture.

◆ registerEventHandler()

virtual void cAudio::IAudioCapture::registerEventHandler ( ICaptureEventHandler handler)
pure virtual

Registers a new event handler to this manager.

Parameters
handlerPointer to an event handler to attach.

Implemented in cAudio::cAudioCapture.

◆ setDevice()

virtual bool cAudio::IAudioCapture::setDevice ( const char *  deviceName)
pure virtual

Sets the audio device . Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters
deviceNameName of the audio device to capture audio from, pass NULL to specify the default one.
Returns
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

◆ setFormat()

virtual bool cAudio::IAudioCapture::setFormat ( AudioFormats  format)
pure virtual

Sets the format that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters
formatFormat of the captured audio.
Returns
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

◆ setFrequency()

virtual bool cAudio::IAudioCapture::setFrequency ( unsigned int  frequency)
pure virtual

Sets the frequency that the captured audio will be at. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters
frequencyFrequency that the captured audio will be captured at in hertz.
Returns
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

◆ setInternalBufferSize()

virtual bool cAudio::IAudioCapture::setInternalBufferSize ( unsigned int  internalBufferSize)
pure virtual

Sets the internal buffer size that OpenAL will use to store captured audio between calls to getCapturedAudio() in bytes. Will cause the capture device to be reinitialized. Calling while in use will clear the internal audio buffer.

Parameters
internalBufferSizeSize of the internal OpenAL buffer in bytes.
Returns
True on success, False if the capture device failed to initialize.

Implemented in cAudio::cAudioCapture.

◆ unRegisterEventHandler()

virtual void cAudio::IAudioCapture::unRegisterEventHandler ( ICaptureEventHandler handler)
pure virtual

Removes the specified event handler from this manager.

Parameters
handlerPointer to an event handler to remove.

Implemented in cAudio::cAudioCapture.

◆ updateCaptureBuffer()

virtual void cAudio::IAudioCapture::updateCaptureBuffer ( bool  force = false)
pure virtual

Grabs samples from the OpenAL buffer into the capture buffer if the OpenAL buffer has reached half full. Should be run once every audio frame, unless threading is enabled.

Parameters
forceForce capturing data from the buffer, even if the buffer is not half full.

Implemented in cAudio::cAudioCapture.


The documentation for this class was generated from the following file: