schreibfaul1 / ESP32-audioI2S

Play mp3 files from SD via I2S
GNU General Public License v3.0
1.08k stars 284 forks source link

error when switching from 3.08 to latest version #702

Closed Arielhh closed 6 months ago

Arielhh commented 6 months ago

Arduino\libraries\ESP32-audioI2S-master\src/Audio.h:35:50: error: variable or field 'audio_id3image' declared void extern attribute((weak)) void audio_id3image(File& file, const size_t pos, const size_t size); //ID3 metadata image it looks like there is a problem with the declaration of the function audio_id3image in the Audio.h file of the ESP32-audioI2S library. The error specifically states that the variable or field audio_id3image is declared as void, which is likely not what was intended.

schreibfaul1 commented 6 months ago

Hi Arielhh, that would mean that in line 35 in Audio.h external __attribute__((weak)) void audio_id3image(File& file, const size_t pos, const size_t size); //ID3 metadata image position 50 class fs::File is causing a problem. Unfortunately I cannot reproduce the error, is this related to Arduino V3.0.0?

Arielhh commented 6 months ago

I am using the latest Arduino release 2.3.2 . My code is long so i cannot post it . it compiles with no problem when using ESP32-audioI2S - V3.08. In my code I am not using images so it should not fail on issues related to ID3 metadata images

Arielhh commented 6 months ago

Hi Wolle, I looked at the two versions of Audio.h files. In the old version there are additional included libraries. When I am adding these libraries to the new version the code is compiling correctly. were this libraries omitted for a reason? In my code i am using SPIFFS and i believe that the missing library from the new version is causing the compilation failure.

missing libraries:

include

include

include

include

schreibfaul1 commented 6 months ago

Hi Arielhh, thanks for narrowing down the error. I have added the libraries again.

Arielhh commented 6 months ago

Wolle, thanks for developing this great library :)