# ESP32 MP3 Player with SD Card Support - Outdated

**URL:** <https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782>\
**Category:** General\
**Created:** [January 21, 2024, 9:39am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782 "2024-01-21T09:39:34Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![suju](https://avatars.discourse-cdn.com/v4/letter/s/a698b9/32.png) [@suju](https://forum.sunfounder.com/u/suju)\
**Post date:** [January 21, 2024, 9:39am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/1 "2024-01-21T09:39:34Z")

</div>

I am having issues with this guide [7.5 MP3 Player with SD Card Support — SunFounder ESP32 Starter Kit documentation](https://docs.sunfounder.com/projects/esp32-starter-kit/en/latest/arduino/basic_projects/ar_mp3_player_sd.html)

I have an error where this import is not recognized, and am unable to get the speaker + mp3 working. I have the latest version of the ESP8266Audio library installed.

```auto
#include "AudioFileSourceSD_MMC.h"

```

```auto
fatal error: AudioFileSourceSD_MMC.h: No such file or directory
 #include "AudioFileSourceSD_MMC.h"

```

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [January 22, 2024, 8:03am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/2 "2024-01-22T08:03:02Z")

</div>

It is possible that the files in your ESP8266Audio.zip library were not uploaded completely.  
You are missing AudioFileSourceSD\_MMC.h, which causes the error to be reported.  
We suggest you delete the previously downloaded code and re-download the new code package package and unzip it.  
Then reinstall the ESP8266Audio.zip library.  
You use manual installation, installation tutorial steps to install:  
[https://docs.sunfounder.com/projects/esp32-starter-kit/en/latest/arduino/arduino\_start/add\_libraries\_ar.html#install-lib-man](https://docs.sunfounder.com/projects/esp32-starter-kit/en/latest/arduino/arduino_start/add_libraries_ar.html#install-lib-man)  
After successful installation, go ahead and run the sample code to see how it works.

---

<div class="post-metadata">

**Author:** ![suju](https://avatars.discourse-cdn.com/v4/letter/s/a698b9/32.png) [@suju](https://forum.sunfounder.com/u/suju)\
**Post date:** [February 1, 2024, 5:42am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/3 "2024-02-01T05:42:49Z")

</div>

Hi where are you getting the ESP8266Audio.zip library?

I have installed the library from this source [GitHub - earlephilhower/ESP8266Audio: Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32](https://github.com/earlephilhower/ESP8266Audio) but it is still not recognizing the following import.

```auto
#include "AudioFileSourceSD_MMC.h"

```

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [February 2, 2024, 3:21am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/4 "2024-02-02T03:21:55Z")

</div>

ESP8266Audio.zip is included in our product code package.  
The path is:\esp32-starter-kit-main\c\libraries

You use manual installation, installation tutorial steps to install:  
[https://docs.sunfounder.com/projects/esp32-starter-kit/en/latest/arduino/arduino\_start/add\_libraries\_ar.html](https://docs.sunfounder.com/projects/esp32-starter-kit/en/latest/arduino/arduino_start/add_libraries_ar.html)  
After successful installation, go ahead and run the sample code to see how it works.  
 ![020201](https://canada1.discourse-cdn.com/flex029/uploads/sunfounder/original/1X/eac16662700c6a07ad3e8ac4eb19e26fbf5902d3.png)

---

<div class="post-metadata">

**Author:** ![suju](https://avatars.discourse-cdn.com/v4/letter/s/a698b9/32.png) [@suju](https://forum.sunfounder.com/u/suju)\
**Post date:** [February 6, 2024, 7:52pm UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/5 "2024-02-06T19:52:49Z")

</div>

Thank you for your help. Where can I find the URL to your product code package?

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [February 7, 2024, 2:33am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/6 "2024-02-07T02:33:24Z")

</div>

Files are included in the code zip downloaded in the previous section: [Download the Code — SunFounder ESP32 Starter Kit documentation](https://docs.sunfounder.com/projects/esp32-starter-kit/en/latest/download_code.html)

 ![020701](https://canada1.discourse-cdn.com/flex029/uploads/sunfounder/original/1X/e4be21d79ad8c02794a921570960eb357fb4fca5.png)

---

<div class="post-metadata">

**Author:** ![Zaphod](https://avatars.discourse-cdn.com/v4/letter/z/9de053/32.png) [@Zaphod](https://forum.sunfounder.com/u/Zaphod)\
**Post date:** [July 19, 2024, 5:58pm UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/7 "2024-07-19T17:58:23Z")

</div>

I also have an issue with this sketch:  
In file included from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:23:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.h:56:5: error: ‘WiFiClient’ does not name a type  
56 | WiFiClient client;  
| ^ ~~~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp: In member function ‘virtual bool AudioFileSourceHTTPStream::open(const char\*)’:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:42:14: error: ‘client’ was not declared in this scope; did you mean ‘Client’?  
42 | http.begin(client, url);  
| ^ ~~~~~  
| Client  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp: In member function ‘virtual uint32\_t AudioFileSourceHTTPStream::readInternal(void\*, uint32\_t, bool)’:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:105:3: error: ‘WiFiClient’ was not declared in this scope  
105 | WiFiClient _stream = http.getStreamPtr();  
| ^ ~~~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.cpp:105:15: error: ‘stream’ was not declared in this scope; did you mean ‘std::io\_errc::stream’?  
105 | WiFiClient stream = http.getStreamPtr();  
| ^ ~~~~~  
| std::io\_errc::stream  
In file included from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ios:42,  
from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ostream:38,  
from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\unique\_ptr.h:41,  
from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\memory:76,  
from C:\Users\gouge\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\HTTPClient\src/HTTPClient.h:34,  
from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.h:26:  
c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\ios\_base.h:204:24: note: ‘std::io\_errc::stream’ declared here  
204 | enum class io\_errc { stream = 1 };  
| ^ ~~~~~  
In file included from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.h:31,  
from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:28:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceHTTPStream.h:56:5: error: ‘WiFiClient’ does not name a type  
56 | WiFiClient client;  
| ^ ~~~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp: In member function 'virtual bool AudioFileSourceICYStream::open(const char)':  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:49:14: error: ‘client’ was not declared in this scope; did you mean ‘Client’?  
49 | http.begin(client, url);  
| ^ ~~~~~  
| Client  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp: In member function 'virtual uint32\_t AudioFileSourceICYStream::readInternal(void_, uint32\_t, bool)':  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:118:3: error: ‘WiFiClient’ was not declared in this scope  
118 | WiFiClient _stream = http.getStreamPtr();  
| ^ ~~~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.cpp:118:15: error: ‘stream’ was not declared in this scope; did you mean ‘std::io\_errc::stream’?  
118 | WiFiClient stream = http.getStreamPtr();  
| ^ ~~~~~  
| std::io\_errc::stream  
In file included from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ios:42,  
from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\ostream:38,  
from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\unique\_ptr.h:41,  
from c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\memory:76,  
from C:\Users\gouge\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\HTTPClient\src/HTTPClient.h:34,  
from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioFileSourceICYStream.h:26:  
c:\users\gouge\appdata\local\arduino15\packages\esp32\tools\esp-x32\2302\xtensa-esp32-elf\include\c++\12.2.0\bits\ios\_base.h:204:24: note: ‘std::io\_errc::stream’ declared here  
204 | enum class io\_errc { stream = 1 };  
| ^ ~~~~~  
In file included from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioGeneratorMIDI.cpp:69:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h: In function 'void tsf\_channel\_midi\_control(tsf, int, int, int)':  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h:2100:1: error: insn does not satisfy its constraints:  
2100 | }  
| ^  
(insn 883 353 354 51 (set (reg:SF 19 f0 [371])  
(mem/u/c:SF (symbol\_ref/u:SI ("_.LC223") [flags 0x2]) [0 S4 A32])) “c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h”:2053:106 49 {movsf\_internal}  
(nil))  
during RTL pass: postreload  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\libtinysoundfont/tsf.h:2100:1: internal compiler error: in extract\_constrain\_insn, at recog.cc:2692  
libbacktrace could not find executable to open  
Please submit a full bug report, with preprocessed source (by using -freport-bug).  
See [https://gcc.gnu.org/bugs/](https://gcc.gnu.org/bugs/) for instructions.  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp: In member function ‘bool AudioOutputI2S::begin(bool)’:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:168:9: error: ‘esp\_chip\_info\_t’ was not declared in this scope  
168 | esp\_chip\_info\_t out\_info;  
| ^ ~~~~~~~~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:169:24: error: ‘out\_info’ was not declared in this scope  
169 | esp\_chip\_info(&out\_info);  
| ^ ~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:169:9: error: ‘esp\_chip\_info’ was not declared in this scope  
169 | esp\_chip\_info(&out\_info);  
| ^ ~~~~~~~~~~~~  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputI2S.cpp:232:28: error: ‘I2S\_MCLK\_MULTIPLE\_DEFAULT’ was not declared in this scope; did you mean ‘I2S\_MCLK\_MULTIPLE\_512’?  
232 | .mclk\_multiple = I2S\_MCLK\_MULTIPLE\_DEFAULT, // Unused  
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~  
| I2S\_MCLK\_MULTIPLE\_512  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp: In constructor ‘AudioOutputSPDIF::AudioOutputSPDIF(int, int, int)’:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp:108:22: error: ‘I2S\_MCLK\_MULTIPLE\_DEFAULT’ was not declared in this scope; did you mean ‘I2S\_MCLK\_MULTIPLE\_512’?  
108 | .mclk\_multiple = I2S\_MCLK\_MULTIPLE\_DEFAULT, // Unused  
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~  
| I2S\_MCLK\_MULTIPLE\_512  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp: In member function ‘virtual bool AudioOutputSPDIF::SetRate(int)’:  
c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp:186:26: error: too many arguments to function ‘void rtc\_clk\_apll\_enable(bool)’  
186 | rtc\_clk\_apll\_enable(1, 28, 8, 5, 0);  
| ~~~^~  
In file included from c:\Users\gouge\Documents\Arduino\libraries\ESP8266Audio\src\AudioOutputSPDIF.cpp:45:  
C:\Users\gouge\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release\_v5.1-dc859c1e67\esp32/include/soc/esp32/include/soc/rtc.h:242:6: note: declared here  
242 | void rtc\_clk\_apll\_enable(bool enable);  
| ^ ~~~~~~~~~~~~~~~~

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [July 23, 2024, 8:05am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/8 "2024-07-23T08:05:47Z")

</div>

Which example you uploaded that caused this error?  
We suggest you to provide us more information (screenshots/videos) so that we can analyse and solve the problem.

---

<div class="post-metadata">

**Author:** ![stef](https://avatars.discourse-cdn.com/v4/letter/s/76d3ee/32.png) [@stef](https://forum.sunfounder.com/u/stef)\
**Post date:** [March 12, 2025, 12:36pm UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/9 "2025-03-12T12:36:53Z")

</div>

this error

(MP3\_PLAYER.ino.cpp.o):(.literal.\_Z5setupv+0x1c): undefined reference to `AudioFileSourceSD\_MMC::AudioFileSourceSD\_MMC(char const\*)’

what this dont work ☹  
i am beginner 🙂  
my board is :SunFounder ESP32 Ultimate Starter Kit with Battery & ESP32-WROOM-32E Board, RoHS Compliant  
and program : 7.5 MP3 Player with SD Card Support

please help me (excuse my english i am from quebec french) 🙂

---

<div class="post-metadata">

**Author:** ![SunFounder\_Moderator](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@SunFounder\_Moderator](https://forum.sunfounder.com/u/SunFounder_Moderator)\
**Post date:** [March 13, 2025, 9:42am UTC](https://forum.sunfounder.com/t/esp32-mp3-player-with-sd-card-support-outdated/782/10 "2025-03-13T09:42:26Z")

</div>

Please describe the problem you are encountering in detail. Is there an error occurring during the code upload process? Are all the necessary dependency libraries correctly installed?

It would be even better if you could provide a video of the code uploading process, as it would help us analyze and resolve the issue more effectively.
