Build your own player and learn how to interface with SD flash memory.
Obviously, building your own mp3 player is generally not cost effective if your only desire is to have a working player.
However, for the nerd wanting to build their own while learning to use a Microchip PIC microcontroller, the Daisy mp3 player fits the bill. The site features the complete information needed to build the player including the firmware, PCB files (Eagle format), manual, and instructions.
The project is neat in itself, but personally, I think it’s a great source for example code and wiring which allows you use a PIC micocontroller to store/retrieve data from a common, cheap SD/MMC flash card. With this knowledge, projects can be built which feature low-cost extended data logging, sound recording, sound playback (for a home-build pinball machine for example 😉 ) and anything else where the low-cost, non-volatile storage properties of flash are handy.
You can find the various files to build the Daisy released under the GPL for your hacking pleasure.