Async
0.18.0
|
A class for recording raw audio to a file. More...
#include <AsyncAudioRecorder.h>
Public Types | |
enum | Format { FMT_AUTO, FMT_RAW, FMT_WAV } |
Public Member Functions | |
AudioRecorder (const std::string &filename, AudioRecorder::Format fmt=FMT_AUTO, int sample_rate=INTERNAL_SAMPLE_RATE) | |
Default constuctor. | |
~AudioRecorder (void) | |
Destructor. | |
bool | initialize (void) |
Initialize the recorder. | |
void | setMaxRecordingTime (unsigned time_ms) |
Set the maximum length of this recording. | |
virtual int | writeSamples (const float *samples, int count) |
Write samples into this audio sink. | |
virtual void | flushSamples (void) |
Tell the sink to flush the previously written samples. | |
![]() | |
AudioSink (void) | |
Default constuctor. | |
virtual | ~AudioSink (void) |
Destructor. | |
bool | registerSource (AudioSource *source) |
Register an audio source to provide samples to this sink. | |
void | unregisterSource (void) |
Unregister the previously registered audio source. | |
bool | isRegistered (void) const |
Check if an audio source has been registered. | |
AudioSource * | source (void) const |
Get the registered audio source. | |
Additional Inherited Members | |
![]() | |
void | sourceResumeOutput (void) |
Tell the source that we are ready to accept more samples. | |
void | sourceAllSamplesFlushed (void) |
Tell the source that all samples have been flushed. | |
bool | setHandler (AudioSink *handler) |
Setup another sink to handle the incoming audio. | |
void | clearHandler (void) |
Clear a handler that was previously setup with setHandler. | |
AudioSink * | handler (void) const |
A class for recording raw audio to a file.
Use this class to stream audio into a file. The audio is stored in raw format, only samples no header.
Definition at line 118 of file AsyncAudioRecorder.h.
Enumerator | |
---|---|
FMT_AUTO | |
FMT_RAW | |
FMT_WAV |
Definition at line 121 of file AsyncAudioRecorder.h.
|
explicit |
Default constuctor.
filename | The name of the file to record audio to |
fmt | The file format ( |
sample_rate | The sample rate (defaults to INTERNAL_SAMPLE_RATE) |
Async::AudioRecorder::~AudioRecorder | ( | void | ) |
Destructor.
|
virtual |
Tell the sink to flush the previously written samples.
This function is used to tell the sink to flush previously written samples. When done flushing, the sink should call the sourceAllSamplesFlushed function. This function is normally only called from a connected source object.
Reimplemented from Async::AudioSink.
bool Async::AudioRecorder::initialize | ( | void | ) |
Initialize the recorder.
void Async::AudioRecorder::setMaxRecordingTime | ( | unsigned | time_ms | ) |
Set the maximum length of this recording.
time_ms | The maximum time in milliseconds |
Use this function to set the maximum time for a recording. When the limit has been reached, any incoming samples will be thrown away. The sampling rate given in the constructor call is used to calculate the time. Setting the time to 0 will allow the file to grow indefinetly.
|
virtual |
Write samples into this audio sink.
samples | The buffer containing the samples |
count | The number of samples in the buffer |
This function is used to write audio into this audio sink. If it returns 0, no more samples should be written until the resumeOutput function in the source have been called. This function is normally only called from a connected source object.
Reimplemented from Async::AudioSink.