arduino-audio-tools
|
MP3 Decoder using https://github.com/pschatzmann/minimp3. This decoder does not provide any good results and it is not suited to decode any audio above 32000 on an ESP32. So the sample rate is limited by the MINIMP3_MAX_SAMPLE_RATE variable. More...
#include <CodecMP3Mini.h>
Public Member Functions | |
~MP3DecoderMini () | |
Destroy the MP3DecoderMini object. | |
AudioInfo | audioInfo () |
Provides the last available MP3FrameInfo. | |
void | begin () |
Starts the processing. | |
virtual void | begin (AudioInfo info) |
void | end () |
Releases the reserved memory. | |
void | flush () |
Decodes the last outstanding data. | |
virtual bool | isResultPCM () |
If true, the decoding result is PCM data. | |
virtual | operator bool () |
checks if the class is active | |
virtual void | setAudioInfo (AudioInfo from) override |
for most decoders this is not needed | |
void | setBufferLength (int len) |
void | setNotifyAudioChange (AudioInfoSupport &bi) |
Registers an object that is notified if the audio format is changing. | |
virtual void | setOutput (AudioOutput &out_stream) |
Defines where the decoded result is written to. | |
virtual void | setOutput (AudioStream &out_stream) |
Defines where the decoded result is written to. | |
void | setOutput (Print &outStream) |
Defines the output Stream. | |
void | setSampleRateLimit (int limit) |
size_t | write (const void *data, size_t len) |
Write mp3 data to decoder. | |
Protected Member Functions | |
void | decode (int write_len) |
Process single bytes so that we can decode a full frame when it is available. | |
void | f32_to_s16 (float *in, int16_t *out, int num_samples) |
void | provideResult (int samples) |
Provides Metadata and PCM data. | |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
bool | active |
AudioInfo | audio_info |
AudioInfoSupport * | audioBaseInfoSupport = nullptr |
Vector< uint8_t > | buffer |
size_t | buffer_pos = 0 |
size_t | buffer_size = 5 * 1024 |
AudioInfo | info |
mp3dec_t | mp3d |
mp3dec_frame_info_t | mp3dec_info |
Print * | out = nullptr |
AudioInfoSupport * | p_notify = nullptr |
Print * | p_print = nullptr |
Vector< mp3d_sample_t > | pcm |
int | sample_rate_limit = 44100 |
MP3 Decoder using https://github.com/pschatzmann/minimp3. This decoder does not provide any good results and it is not suited to decode any audio above 32000 on an ESP32. So the sample rate is limited by the MINIMP3_MAX_SAMPLE_RATE variable.