We prep things differently. I've used this successfully, many times and many pin combinations.
Serial,prints go to SerialMon; Serial1 is a separate UART.
Unnecessary SerialMon activity can bung things up.
There could be a FastLED - DFPlayer incompatibility. It would be a pain to cut out all that stuff to find out.
(Serial2, anyone?)
#include "HardwareSerial.h"
#include "DFRobotDFPlayerMini.h"
//
const byte RXD2 = 6;
const byte TXD2 = 7;
HardwareSerial dfSD(1); // Use UART channel 1
DFRobotDFPlayerMini player;
void setup()
{
Serial.begin(19200);
dfSD.begin(9600, SERIAL_8N1, RXD2, TXD2); // D6,D7
delay(5000);
if (player.begin(dfSD))
{
Serial.println("OK");
// Set volume to maximum (0 to 30).
player.volume(22); //30 is very loud
}
else
{
Serial.println("Connecting to DFPlayer Mini failed!");
}
Serial.println("player go");
}
void loop()
{
Serial.println("Playing #1");
player.play(1);
Serial.println("play start");
delay(10000);
Serial.println("played");
delay(1000);
Serial.println("Playing #2");
player.play(2);
Serial.println("play start");
delay(10000);
Serial.println("played");
delay(1000);
}
I guess the include for HardwareSerial.h is a legacy thing that's no longer necessary. (It can be hard to keep up, but it's really not the ESP forum. Yattahay.)