• sales

    +86-0755-88291180

Cannot listen any more playing web radio stream ! Please help asap !!!

2026-09-05 03:53:37 Ask

Hello ,

I had this code below working ,but I made a change and now it is not working anymore, even than I have reverted back to the working version. I'm sure that the problem is coming from the version of WiFiManager and ESP32-AudioIS libraries I have installed, but unfortunately I have reformatted my laptop and I have reinstalled versions based on what I could remember from the past but I'm not sure which version I had.

The versions installed in my Arduino IDE are as following:

1. Boards Manager: ESP32 by Espressif System/ Version 2.0.13

2. Libraries : WifiManager by tzapu / Version 2.0.0-rc.1

3. Libraries: ESP32-audioI2S-master by schreibfaul1 / Version 2.0.0

Please , please provide any help with this issue. I'm struggling from hours with this.


Thanks !!

C code is this below:

#include <WiFi.h>

#include <WebServer.h>

#include <DNSServer.h>

#include <WiFiManager.h>

#include <SPI.h>

#include <TFT_eSPI.h>

#include "Arduino.h"

#include "Audio.h"

// Initialize TFT

TFT_eSPI tft = TFT_eSPI(240, 240);

// MAX98357A I2S Pin Definitions

#define I2S_BCLK       7    // ESP32-S3 GPIO7 -> BCLK

#define I2S_LRC        8    // ESP32-S3 GPIO8 -> LRC / WS

#define I2S_DOUT       9    // ESP32-S3 GPIO9 -> DIN

// Push Button Pins

#define BTN_VOL_UP     5    // ESP32-S3 GPIO5 -> Switch to 3.3V (Volume Up)

#define BTN_VOL_DOWN   4    // ESP32-S3 GPIO4 -> Switch to 3.3V (Volume Down)

#define BTN_VOL_MUTE   3    // ESP32-S3 GPIO4 -> Switch to 3.3V (Volume Down)

Audio audio;

// Volume Management Settings

int currentVolume = 14;           // Default starting volume

const int maxVolume = 20;          // Maximum volume limit

const int minVolume = 1;           // Minimum volume limit

// Button State & Debounce Tracking

bool lastUpState = LOW;

bool lastDownState = LOW;

unsigned long lastDebounceTimeUp = 0;

unsigned long lastDebounceTimeDown = 0;

const unsigned long debounceDelay = 50; // 50ms delay to prevent bounce glitches

void logMessage(const String &msg) {

   Serial.println(msg);

   tft.println(msg);

}

void setup() {

   Serial.begin(115200);

   delay(1000);

   // Pin setups with internal pulldowns (Keeps pins LOW when switches aren't pressed)

   pinMode(BTN_VOL_UP, INPUT_PULLDOWN);

   pinMode(BTN_VOL_DOWN, INPUT_PULLDOWN);

   // TFT Setup

   tft.begin();

   tft.setRotation(2);

   tft.fillScreen(TFT_BLACK);

   tft.setTextColor(TFT_WHITE, TFT_BLACK);

   tft.setCursor(0, 8, 2);

   logMessage("--- Audio Streamer Booting ---");

   // 1. WiFiManager Setup

   WiFiManager wm;

   wm.setConnectTimeout(20);

   wm.setConfigPortalTimeout(180);

   logMessage("Connecting to Wi-Fi...");

   

   if (!wm.autoConnect("ESP32_Config_AP", "password123")) {

       logMessage("Failed to connect. Restarting...");

       delay(2000);

       ESP.restart();

   }

   // Disable WiFi modem sleep to maintain seamless streaming

   WiFi.setSleep(false);

   tft.setTextColor(TFT_GREEN, TFT_BLACK);

   logMessage("\nConnected to Wi-Fi!");

   logMessage("IP: " + WiFi.localIP().toString());

   delay(1000);

   // 2. Initialize Audio AFTER Wi-Fi is fully established

   audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);

   audio.setVolume(currentVolume);

   logMessage("\nStarting Audio Stream...");

   audio.connecttohost("http://xxxyyy.com");

}

void loop() {

   // 1. Audio processing gets top priority

   audio.loop();

   // 2. Volume Control Logic

   unsigned long currentMillis = millis();

   // Volume UP (GPIO 5)

   bool readingUp = digitalRead(BTN_VOL_UP);

   if (readingUp == HIGH && lastUpState == LOW) {

       if ((currentMillis - lastDebounceTimeUp) > debounceDelay) {

           lastDebounceTimeUp = currentMillis;

           if (currentVolume < maxVolume) {

               currentVolume++;

               audio.setVolume(currentVolume);

               

               tft.setTextColor(TFT_YELLOW, TFT_BLACK);

               logMessage("Vol +: " + String(currentVolume) + " / " + String(maxVolume));

           } else {

               tft.setTextColor(TFT_RED, TFT_BLACK);

               logMessage("Vol Max: " + String(maxVolume));

           }

       }

   }

   lastUpState = readingUp;

   // Volume DOWN (GPIO 4)

   bool readingDown = digitalRead(BTN_VOL_DOWN);

   if (readingDown == HIGH && lastDownState == LOW) {

       if ((currentMillis - lastDebounceTimeDown) > debounceDelay) {

           lastDebounceTimeDown = currentMillis;

           if (currentVolume > minVolume) {

               currentVolume--;

               audio.setVolume(currentVolume);

               

               tft.setTextColor(TFT_YELLOW, TFT_BLACK);

               logMessage("Vol -: " + String(currentVolume) + " / " + String(maxVolume));

           } else {

               tft.setTextColor(TFT_RED, TFT_BLACK);

               logMessage("Vol Min (1)");

           }

       }

   }

   lastDownState = readingDown;

   // 3. Non-blocking Wi-Fi reconnect check

   if (WiFi.status() != WL_CONNECTED) {

       static unsigned long lastReconnectAttempt = 0;

       if (currentMillis - lastReconnectAttempt >= 5000) {

           lastReconnectAttempt = currentMillis;

           Serial.println("[Wi-Fi] Connection lost. Attempting background reconnect...");

           WiFi.reconnect();

       }

   }

}

// Audio Info Callbacks

void audio_info(const char *info) {

   Serial.print("info        "); Serial.println(info);

}

void audio_showstation(const char *info) {

   tft.setTextColor(TFT_CYAN, TFT_BLACK);

   logMessage("Station: " + String(info));

}

void audio_showstreamtitle(const char *info) {

   tft.setTextColor(TFT_MAGENTA, TFT_BLACK);

   logMessage("Now Playing: " + String(info));

}

ESP32 S3 LCD Development Board 1.3 Audio; Playing internet radio streams;
1answers
SpotPearGuest1e2d7
Answer time:
2026-09-05 08:39:00

Thank you for your answer ! As I have already explained the code worked and I didn't had any issue. The problem came after I have reinstalled the libraries , but I don't remember which version I had and that's way I'm asking support if anyone succeded to have working with playing radio streams from internet. I'm very upset with this board,because no good support is given, and I dont know what stupid things I have done because now because a white light is staying on below the lcd and everytime I try to flash it is saying ping failed. Please plase help me !  

Like0

report