arduino-audio-tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Public Member Functions | Protected Attributes | List of all members
AudioSourceSDMMC Class Reference

ESP32 AudioSource for AudioPlayer using an SD card as data source. This class is based on the Arduino SD_MMC implementation Connect the SD card to the following pins: More...

#include <AudioSourceSDMMC.h>

Inheritance diagram for AudioSourceSDMMC:
AudioSource

Public Member Functions

 AudioSourceSDMMC (const char *startFilePath="/", const char *ext=".mp3", bool setupIndex=true)
 Default constructor.
 
virtual void begin () override
 Reset actual stream and move to root.
 
void end ()
 
int index ()
 Provides the current index position.
 
virtual bool isAutoNext ()
 Returns default setting go to the next.
 
virtual StreamnextStream (int offset=1) override
 Returns next audio stream.
 
Streamoperator[] (int idx)
 access with array syntax
 
virtual StreampreviousStream (int offset)
 Returns previous audio stream.
 
virtual StreamselectStream (const char *path) override
 Returns audio stream by path.
 
virtual StreamselectStream (int index) override
 
void setFileFilter (const char *filter)
 
virtual StreamsetIndex (int index)
 same as selectStream - I just prefer this name
 
virtual bool setMetadataCallback (void(*fn)(MetaDataType info, const char *str, int len), ID3TypeSelection sel=SELECT_ICY)
 
virtual void setPath (const char *p)
 Allows to "correct" the start path if not defined in the constructor.
 
virtual void setTimeout (int millisec)
 Sets the timeout of Stream in milliseconds.
 
virtual void setTimeoutAutoNext (int millisec)
 
long size ()
 Provides the number of files (The max index is size()-1): WARNING this is very slow if you have a lot of files in many subdirectories.
 
virtual int timeoutAutoNext ()
 Provides the timeout which is triggering to move to the next stream.
 
const char * toStr ()
 provides the actual file name
 

Protected Attributes

const char * exension = nullptr
 
File file
 
const char * file_name
 
const char * file_name_pattern = "*"
 
SDDirect< fs::SDMMCFS, fs::File > idx {SD_MMC}
 
size_t idx_pos = 0
 
bool is_sd_setup = false
 
bool setup_index = true
 
const char * start_path = nullptr
 
int timeout_auto_next_value = 500
 

Detailed Description

ESP32 AudioSource for AudioPlayer using an SD card as data source. This class is based on the Arduino SD_MMC implementation Connect the SD card to the following pins:

SD Card | ESP32 D2 12 D3 13 CMD 15 VSS GND VDD 3.3V CLK 14 VSS GND D0 2 (add 1K pull up after flashing) D1 4

On the AI Thinker boards the pin settings should be On, On, On, On, On,

Author
Phil Schatzmann

Member Function Documentation

◆ begin()

virtual void begin ( )
inlineoverridevirtual

Reset actual stream and move to root.

Implements AudioSource.

◆ index()

int index ( )
inlinevirtual

Provides the current index position.

Reimplemented from AudioSource.

◆ isAutoNext()

virtual bool isAutoNext ( )
inlinevirtual

Returns default setting go to the next.

Reimplemented from AudioSource.

◆ nextStream()

virtual Stream * nextStream ( int  offset = 1)
inlineoverridevirtual

Returns next audio stream.

Implements AudioSource.

◆ previousStream()

virtual Stream * previousStream ( int  offset)
inlinevirtualinherited

Returns previous audio stream.

Reimplemented in AudioSourceURL.

◆ selectStream() [1/2]

virtual Stream * selectStream ( const char *  path)
inlineoverridevirtual

Returns audio stream by path.

Implements AudioSource.

◆ selectStream() [2/2]

virtual Stream * selectStream ( int  index)
inlineoverridevirtual

Returns audio stream at the indicated index (the index is zero based, so the first value is 0!)

Reimplemented from AudioSource.

◆ setFileFilter()

void setFileFilter ( const char *  filter)
inline

Defines the regex filter criteria for selecting files. E.g. ".*Bob Dylan.*"

◆ setTimeout()

virtual void setTimeout ( int  millisec)
inlinevirtualinherited

Sets the timeout of Stream in milliseconds.

Reimplemented in AudioSourceURL, and AudioSourceSDFAT.

◆ setTimeoutAutoNext()

virtual void setTimeoutAutoNext ( int  millisec)
inlinevirtualinherited

Sets the timeout which is triggering to move to the next stream. - the default value is 500 ms

◆ toStr()

const char * toStr ( )
inlinevirtual

provides the actual file name

Reimplemented from AudioSource.


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