arduino-audio-tools
|
Common functionality for PWM output. We generate audio using PWM with a frequency that is above the hearing range. The sample rate is usually quite restricted, so we also automatically decimate the data. Further info see PWMConfig. More...
#include <AudioPWM.h>
Public Member Functions | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
AudioInfo | audioInfoOut () override |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
int | availableForWrite () override |
bool | begin () |
virtual bool | begin (AudioInfo info) |
bool | begin (PWMConfig config) |
starts the processing using Streams | |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
PWMConfig | config () |
virtual PWMConfig | defaultConfig (RxTxMode mode=TX_MODE) |
PWMDriver * | driver () |
Provides access to the driver. | |
virtual void | end () override |
virtual void | flush () |
uint32_t | framesPerSecond () |
virtual bool | isDeletable () |
If true we need to release the related memory in the destructor. | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual | operator bool () |
virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
Removes a target in order not to be notified about audio changes. | |
void | setAudioInfo (AudioInfo info) override |
updates the sample rate dynamically | |
void | setBuffer (BaseBuffer< uint8_t > *buffer) |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
uint32_t | underflowsPerSecond () |
size_t | write (const uint8_t *data, size_t len) override |
virtual size_t | write (uint8_t ch) override |
virtual void | writeSilence (size_t len) |
Protected Member Functions | |
void | notifyAudioChange (AudioInfo info) |
Protected Attributes | |
int | _timeout = 10 |
PWMConfig | audio_config |
AudioInfo | cfg |
bool | is_active = false |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
PWMDriver | pwm |
SingleBuffer< uint8_t > | tmp {MAX_SINGLE_CHARS} |
int | tmpPos = 0 |
Common functionality for PWM output. We generate audio using PWM with a frequency that is above the hearing range. The sample rate is usually quite restricted, so we also automatically decimate the data. Further info see PWMConfig.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, MP3DecoderMAD, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, MP3DecoderHelix, OggContainerDecoder, Pipeline, and Pipeline::ModifyingStreamAdapter.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in AdapterPrintToAudioOutput, and AdapterAudioStreamToAudioOutput.
|
inlineoverridevirtual |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented from AudioInfoSupport.
|
inlineoverridevirtual |
Reimplemented from AudioOutput.
|
inlinevirtual |
Reimplemented from AudioOutput.
Reimplemented in AudioESP32ULP, CsvOutput< T >, and EncodedAudioOutput.
Reimplemented from AudioOutput.
If true we need to release the related memory in the destructor.
Reimplemented in AdapterPrintToAudioOutput, and AdapterAudioStreamToAudioOutput.
Reimplemented in EncodedAudioOutput, and RTSPOutput.
updates the sample rate dynamically
Reimplemented from AudioOutput.
|
inline |
You can assign your own custom buffer impelementation: must be allocated on the heap and will be cleaned up by this class
Implements AudioOutput.
Reimplemented in OversamplingDAC.
Writes n 0 values (= silence)
len |