There are a number of hardware reasons why things may not be working just right, too.
You have fairly long wire jumpers going between the UNO and the DFplayer Mini. This can sometimes cause problems. Shortening them might help.
Also, putting a capacitor or two on the breadboard between Vcc and Gnd might help, as it provides a local energy source for the player during short duration, high current demand periods. The typical value for this is a 0.1uF ceramic cap, and providing an additional larger cap such as 10uF to 22uF low ESR tantalum or aluminum electrolytic cap might give additional support if the high current draw is extended for longer periods, which can cause voltage droop.
Looking through some of the documentation, it looks like the DFplayer Mini is really designed to be used with around 4.2V, though they say it can work on a range of 3.3V up to 5V. I note that on page 9 of the manual, they state the following:
On DFRobot’s wiki page for this product, they show this 1K resistor on RX, which acts as a level shifter of sorts.
This may work, but I think a better way to do it is with a voltage divider, such as shown here. This should properly scale the voltage to that of the DFPlayer Mini:
One could also use an actual level shifter IC, such as one of these, but you will need to make an adapter board to use them with your breadboard.