See the last issue discussed on this thread for details: https://forum.arduino.cc/t/continued-problems-with-dfplayer-readfilecountsinfolder-method/1420745/7
In summary, if the reset flag is set true (the default) in the begin() call and a read call is made before at least two set calls are made (e.g. Volume, EQ, play, etc.), then the data returned from the DFPlayer to the library will be zero. Subsequent calls made after two set calls will return the correct value.
Note that this problem was only observed on a recently purchased DFRobot player and not on at least one type of clone.