better mediaplayer refactor