I have one of the MFJ Morse Code tutors and they work very well. I sometimes use it in the car and there is sufficient audio to use it in the car with just the built-in speaker. What I like about the tutor is that you can change the tone and the speed of the code being sent in any of the modes very easily. You can also choose to have it send groups of letters, random words and random QSOs with either continuous play or with a pause in between letters, words or QSOs.
The QSO format is canned (ie RST, Name, QTH, Rig, Ant , WX 73) but the content of the qsos generated is actually pretty good and quite random.
One other option that I investigated without much success was to download and play the MP3 format W1AW code practice files on a small cheap MP3 player. I picked up a 32 mb one on ebay very cheaply but the code comes out sounding strange with a whooping sound interspersed ... possibly something to do with the sampling when it was converted into MP3. I have had no problem downloading these files from the ARRL web and playing them on my computer however.
Also Chuck K7QO has a CW course and some higher speed MP3 format practice that can be downloaded from his website at http://www.k7qo.net/