The error code -38 ought to correspond to INVALID_OPERATION.
A likely cause of this is that you don't wait for prepareAsync to finish before you call start. You should set an onPreparedListener and start the MediaPlayer only when onPrepared has been called.