Hi,
I had this problem too. I gave up trying to fix it after some time trying all the various fixes (except the ones requiring a full os reinstall or a soldering iron)... Then this evening I randomly plugged the headphones I use in my phone in and hey presto! It started working. Seems like somewhere the computer diffferentiates between headphones with a microphone attached, and headphones without - looks like the jack has 4 sections rather than 3. If there is no microphone socket it will ignore the headphones....and play through the speakers.
Not really a fix - but an observation. If you want it to work then get some headphones with a microphone.
JP