refactor MediaPlayerController