Download android eBook


  • void setAudioStreamType(int streamtype)
  • void setDataSource(Context context, Uri uri)
  • void prepare()
  • void prepareAsync()
  • void start()
  • void stop()


The MediaPlayer usage is mainly based on the State diagram:

enter image description here

That means that in order to play audio/video a defined sequence of action must occur is specific order. It also states what actions can be made in which state.

The MediaPlayer API lacks flexibility (adding custom decoder and rendering logic) and lacks sSupport for Dynamic Adaptive Streaming over HTTP (DASH) and SmoothStreaming. For these, look into ExoPlayer.

Related Examples


306 Contributors: 6
Friday, February 17, 2017
Licensed under: CC-BY-SA

Not affiliated with Stack Overflow
Rip Tutorial:

Download eBook