17

I have been using mediaController for my app.

By default, the Media Controller is displayed at the bottom of the screen.

Is there a way to display the Media Controller in the middle of the screen instead?

mc01
  • 3,750
  • 19
  • 24
Andro Selva
  • 53,910
  • 52
  • 193
  • 240
  • [Maybe this is the answer](http://stackoverflow.com/a/9563643/544419) – Rongan Mar 05 '12 at 08:37
  • Possible duplicate of [MediaController positioning over VideoView](https://stackoverflow.com/questions/3686729/mediacontroller-positioning-over-videoview) – bummi Jan 07 '19 at 14:47

3 Answers3

18

Placing the mediacontroller only works if the video size is known. Thus you'll have to do:

video.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
            mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() { 
                                    @Override
                                    public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
                                          /*
                                           *  add media controller
                                           */
                                          mc = new MediaController(YourActivity.this);;
                                          video.setMediaController(mc);
                                          /*
                                           * and set its position on screen
                                           */
                                          mc.setAnchorView(video);
                                    }
                                    });
                            }
          });
bk138
  • 3,033
  • 1
  • 34
  • 28
  • This is the answer actually work! No need to add MediaPlayer in XML layout. Just setAnchorView while VideoView while preparing itself. In case someone want to implement his own media controller check out http://stackoverflow.com/questions/3686729/mediacontroller-positioning-over-videoview – Robert Nov 20 '14 at 08:25
0

At last I got it..

   mediaController.setAnchorView(findViewById(R.id.main_audio_view));

Using this snippet we can re position the mediacontroller to be placed at a particular position based on the layout id or an view's id

Andro Selva
  • 53,910
  • 52
  • 193
  • 240
-1

/*var mediaController:MediaController? = null

videoView is reference to VideoView in layout file. */

videoView.setOnPreparedListener(OnPreparedListener { mp ->
            mp.setOnVideoSizeChangedListener { mp, width, height -> 
                   
                 mediaController = MediaController(this@ActivityName)

                videoView.setMediaController(mediaController)
    
               mediaController?.setAnchorView(videoView)
 
            }
        })
`