You'll want a slot 1 M3 or a SuperCard solution. You will also need a SuperKey or a Passcard 3 which allows the DS to play unassigned code. Most online stores sell these bundled with the cards
M3;
http://www.m3adapter.com/SuperCard;
http://eng.supercard.cn/Slot 1 is the normal DS cart, and Slot 2 refers to the GBA cart. Because you want to play GBA games the Slot 1 solution won't work for you, as there are no GBA emulators (and probably won't ever be) for the DS. Both the M3 and SuperCard have built in MP3 capabilities. Both are fairly simple to use as they use CF or SD cards. Although the downside of Slot 2 solutions is that most backup games placed on them will need to be patched before they are playable. This is a fairly easy, few click process. So a recently released game may not work for a week or two until a new patcher is released. Both companies update their software quite frequently, so this isn't that much of a worry. From what I have read (I personally own an M3 cart) the Supercart has some slowdowns on GBA games, but the DS game support is equivalent to the M3.
There are quite a lot of threads that talk about the M3 and SuperCard in more detail.
If you were to decide that you only wanted to play DS games, I'd hold off till M3 and SuperCard came out with there Slot 1 products as they will probably wind up being the best cards out.
I'd also look into a program called Moonshell for playing media no matter what card you get, as it does a much better job then the out of the box implementations from ether company.
Hmm this may be my longest post every, lol
-FTen
Edit: I forgot M3 makes Pro series and SuperCard makes the Rumble series now. You will want to stay away from these as they don't really support GBA games.