You don't specify which Arduino MP3 Shield library your talking about, but if it is this one (or one like it); GitHub - madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library: A nice and neat library for playing MP3s on your Arduino using Sparkfun's MP3 Player Shield then it is using the SDfat library to provide access to the SD card. That library is the ancestor from which the Arduino SD library comes from and you can probably use this example (which may need some modification to work with your shield library) to implement a directory browsing feature:
#include <SD.h>
File root;
void setup()
{
Serial.begin(9600);
pinMode(10, OUTPUT);
SD.begin(10);
root = SD.open("/");
printDirectory(root, 0);
Serial.println("done!");
}
void loop()
{
// nothing happens after setup finishes.
}
void printDirectory(File dir, int numTabs) {
while(true) {
File entry = dir.openNextFile();
if (! entry) {
// no more files
Serial.println("**nomorefiles**");
}
for (uint8_t i=0; i<numTabs; i++) {
Serial.print('\t');
}
Serial.print(entry.name());
if (entry.isDirectory()) {
Serial.println("/");
printDirectory(entry, numTabs+1);
} else {
// files have sizes, directories do not
Serial.print("\t\t");
Serial.println(entry.size(), DEC);
}
}
}
Some more information on the SDFat library that may be helpful is available from:
http://arconlab.com/lab/Arduino/Library/SD%20Reader%20-%20Fat32/html/class_sd_file.html
and
http://arconlab.com/lab/Arduino/Library/SD%20Reader%20-%20Fat32/html/