arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
audio_tools::MP3DecoderHelix Class Reference

MP3 Decoder using libhelix: https://github.com/pschatzmann/arduino-libhelix This is basically just a simple wrapper to provide AudioBaseInfo and AudioBaseInfoDependent. More...

#include <CodecMP3Helix.h>

Inheritance diagram for audio_tools::MP3DecoderHelix:
audio_tools::AudioDecoder audio_tools::AudioWriter audio_tools::AudioBaseInfoSource

Public Member Functions

 MP3DecoderHelix (Print &out_stream)
 Construct a new MP3DecoderMini object. More...
 
 MP3DecoderHelix (Print &out_stream, AudioBaseInfoDependent &bi)
 Construct a new MP3DecoderMini object. The decoded output will go to the print object. More...
 
 ~MP3DecoderHelix ()
 Destroy the MP3DecoderMini object. More...
 
AudioBaseInfo audioInfo ()
 
MP3FrameInfo audioInfoEx ()
 
void begin ()
 Starts the processing. More...
 
libhelix::MP3DecoderHelix * driver ()
 
void end ()
 Releases the reserved memory. More...
 
bool isFilterMetaData ()
 Check if the metadata filter is active.
 
 operator bool ()
 checks if the class is active More...
 
void setFilterMetaData (bool filter)
 Activates a filter that makes sure that helix does not get any metadata segments.
 
void setNotifyAudioChange (AudioBaseInfoDependent &bi)
 Defines the callback object to which the Audio information change is provided. More...
 
virtual void setOutputStream (Print &outStream)
 Defines the output Stream. More...
 
size_t write (const void *mp3Data, size_t len)
 Write mp3 data to decoder. More...
 
- Public Member Functions inherited from audio_tools::AudioDecoder
 AudioDecoder (AudioDecoder const &)=delete
 
virtual AudioBaseInfo audioInfo ()=0
 
virtual bool isResultPCM ()
 
AudioDecoderoperator= (AudioDecoder const &)=delete
 
virtual void setAudioInfo (AudioBaseInfo from) override
 
virtual void setOutputStream (AudioPrint &out_stream)
 
virtual void setOutputStream (AudioStream &out_stream)
 
virtual void setOutputStream (Print &out_stream) override=0
 
virtual void begin ()=0
 
virtual void end ()=0
 
virtual operator bool ()=0
 
virtual void setAudioInfo (AudioBaseInfo from)=0
 
virtual void setOutputStream (Print &out_stream)=0
 
virtual size_t write (const void *in_ptr, size_t in_size)=0
 
virtual void setNotifyAudioChange (AudioBaseInfoDependent &bi)=0
 

Static Public Member Functions

static void infoCallback (MP3FrameInfo &i)
 notifies the subscriber about a change
 

Protected Attributes

MetaDataFilter< libhelix::MP3DecoderHelix > filter
 
libhelix::MP3DecoderHelix * mp3 =nullptr
 
bool use_filter = false
 

Detailed Description

MP3 Decoder using libhelix: https://github.com/pschatzmann/arduino-libhelix This is basically just a simple wrapper to provide AudioBaseInfo and AudioBaseInfoDependent.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ MP3DecoderHelix() [1/2]

audio_tools::MP3DecoderHelix::MP3DecoderHelix ( Print out_stream)
inline

Construct a new MP3DecoderMini object.

Parameters
out_stream

◆ MP3DecoderHelix() [2/2]

audio_tools::MP3DecoderHelix::MP3DecoderHelix ( Print out_stream,
AudioBaseInfoDependent bi 
)
inline

Construct a new MP3DecoderMini object. The decoded output will go to the print object.

Parameters
out_stream
bi

◆ ~MP3DecoderHelix()

audio_tools::MP3DecoderHelix::~MP3DecoderHelix ( )
inline

Destroy the MP3DecoderMini object.

Member Function Documentation

◆ audioInfo()

AudioBaseInfo audio_tools::MP3DecoderHelix::audioInfo ( )
inlinevirtual

◆ begin()

void audio_tools::MP3DecoderHelix::begin ( )
inlinevirtual

Starts the processing.

Implements audio_tools::AudioWriter.

◆ end()

void audio_tools::MP3DecoderHelix::end ( )
inlinevirtual

Releases the reserved memory.

Implements audio_tools::AudioWriter.

◆ operator bool()

audio_tools::MP3DecoderHelix::operator bool ( )
inlinevirtual

checks if the class is active

Implements audio_tools::AudioWriter.

◆ setNotifyAudioChange()

void audio_tools::MP3DecoderHelix::setNotifyAudioChange ( AudioBaseInfoDependent bi)
inlinevirtual

Defines the callback object to which the Audio information change is provided.

Implements audio_tools::AudioBaseInfoSource.

◆ setOutputStream()

virtual void audio_tools::MP3DecoderHelix::setOutputStream ( Print outStream)
inlinevirtual

Defines the output Stream.

Implements audio_tools::AudioDecoder.

◆ write()

size_t audio_tools::MP3DecoderHelix::write ( const void *  mp3Data,
size_t  len 
)
inlinevirtual

Write mp3 data to decoder.

Implements audio_tools::AudioWriter.


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