how to create custom UI for android MediaController

android, android-video-player, mediacontroller

Solution

I had the same problem on a recent project and ended up creating a custom implementation based on the stock MediaController. It adds a fullscreen button at the far right, but even if that's not what you want this class should be a good starting point.


Code:

- VideoControllerView.java - http://pastebin.com/1V63aVSg

- media_controller.xml - http://pastebin.com/rS4xqMej

Image resources:

Gotchas:

- The class assumes the anchor view is a FrameLayout to position itself at the bottom.

- The class does not use a Window to ensure control floats on top of the anchor. However, this hasn't been a problem for me as the show() method does mAnchor.addView() every time.

- The class uses its own MediaPlayerControl protocol. This allows customizations such as toggleFullScreen()

UPDATE (2013): See this tutorial for more details: http://www.brightec.co.uk/blog/custom-android-media-controller

UPDATE (2018): You can now use the wonderful ExoPlayer and fully customize your player UI simply by overriding a layout file.

Problem

I want to customize the controls in the MediaController for my video player. I want to swap out the image for the play button, change the skin, change the color, ect. Is there a known way of doing this? Thanks

Original source

Related problems