Sapan Diwakar

Software developer

Follow me on Twitter Check out my code on GitHub View some of my designs on Dribbble Take a look at my Linked In profile

Building a Music Player App for Android

As my previous post about creating Android Music Player was getting a lot of traction, I figured it's about time to do a rewrite as the previous one is ages old and there have been a lot of improvements and better APIs on Android for supporting music since then. This is going to be the first of a series of post talking about building a full fledged music player app with streaming, custom playlists, offline tracks (basically a boiled down Spotify clone).

Here's a list of all tutorials in this series:

  1. Media Player basics
    An introduction to the Android multimedia framework that includes support for playing variety of common media types, so that you can easily integrate audio, video and images into your applications. You can play audio or video from media files stored in your application's resources (raw resources), from standalone files in the filesystem, or from a data stream arriving over a network connection, all using MediaPlayer APIs.

  2. Playing music in the background
    If you want your media to play in the background while the user is interacting with other applications, then you must start a Service and control the MediaPlayer instance from there. If you have never worked with Services before, it might be worthwhile to read a quick overview from the guide.

  3. Music Player Controls on Lock Screen and Notifications
    This post will discuss how to show Media Player controls on the lock screen and the notifications using a MediaSession.

  4. Creating Music Player UI:
    Discusses how to create a UI for the music player with a full screen blurred background for album artwork, the track artwork, title, and the playback controls.

  5. Creating a toolbar to embed on all activities: WIP

  6. Handling music playlists (local): WIP

If you are looking to get a custom music player app built for you, feel free to reach out to me at [email protected].