9

I can't get it working... Whenever I touch my video, nothing is happing... Although, I think, the MediaController should be visible...

I currently use following function to play my video:

private void playCachedVideo(final VideoView videoView, final Context c, File f)
{
    //videoView.setZOrderOnTop(true);        
    videoView.setOnPreparedListener(new OnPreparedListener()
    {
        @Override
        public void onPrepared(MediaPlayer mp) 
        {
            mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() 
            { 
                @Override
                public void onVideoSizeChanged(MediaPlayer mp, int width, int height) 
                {
                    MediaController mediaController = new MediaController(c);
                    mediaController.setMediaPlayer(videoView);
                    mediaController.setAnchorView(videoView);
                    videoView.setMediaController(mediaController);
                }
            });
        }
    });
    videoView.setVideoURI(Uri.fromFile(f));
    videoView.start();
}

The video plays fine, but I can't get any MediaController to show up...

PS: I'm showing the player in a DialogFragment

prom85
  • 16,896
  • 17
  • 122
  • 242

2 Answers2

0

Try this:

mMediaController = new MediaController(getActivity());

replace c by getActivity().

Eugene S
  • 6,709
  • 8
  • 57
  • 91
Gvs13
  • 126
  • 12
0

You need to attach the controller to the VideoView and then call mediaController.show(timeInMillisec) in onPrepared() callback. This show the controller on touch of videoview and will hide the controller after specified timeInMillisec.

public class VideoViewActivity extends Activity implements  MediaPlayer.OnPreparedListener{

    private VideoView mVideoView = null;
    MediaController mediaController = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.videoview_layout);

        mVideoView = (VideoView) findViewById(R.id.VideoView);
        mVideoView.setOnPreparedListener(this);

        mediaController = new MediaController(mVideoView.getContext());
        mediaController.setMediaPlayer(mVideoView);
        mediaController.setAnchorView(mVideoView);
        mVideoView.setMediaController(mediaController);
        mVideoView.setVideoPath("URL");
    }

    @Override
    public void onPrepared(MediaPlayer mp) {
        mVideoView.start();
        mediaController.show(2000);
    }
}
Swati
  • 1,179
  • 9
  • 28