MediaPlayer-Extended is a media player library for Android, designed to be an API-compatible replacement for the Android SDK’s MediaPlayer
and VideoView
components. It leverages Android’s MediaExtractor
and MediaCodec
API components to add support for frame-exact seeking, playback speed adjustment, and MPEG-DASH streams. This approach makes it lightweight and easy to use, eliminating the need to fiddle with native code or the Android NDK, which was a common requirement for other solutions at the time. It is compatible with Android versions 4.1 and above.
Initially known as ITEC-MediaPlayer, I developed it for research purposes to enable an application to render MPEG-DASH streams over Wi-Fi networks with unstable bandwidths. After consulting with a renowned video streaming infrastructure company, which stated that rendering DASH on Android was impossible, I accepted the challenge. As a result, it became the first open-source library to support MPEG-DASH on Android.
Google later introduced the ExoPlayer library, built upon the same APIs. Although MediaPlayer-Extended was easier to adapt, I eventually ceased its development due to ExoPlayer’s broader feature set and greater developer resources. Nevertheless, MediaPlayer-Extended has been utilized in numerous applications by independent developers, for research projects, technical demonstrations, and in companion apps for camera and VR hardware.