Just stumbled upon this answer in Unable to pause/forward/backward video using mediacontroller in android. Some LG devices seem to have this issue as well.
As mentioned by @Vineela Yarlagadda, you need to override the VideoView methods below
@Override
public boolean canSeekForward() {
return true;
}
@Override
public boolean canSeekBackward() {
return true;
}
@Override
public boolean canPause() {
return true;
}
Tested & works on Nexus 7.
Alternate solution:
Use a SurfaceView instead of a VideoView as suggested in the sample code in ApiDemos.
setContentView(R.layout.media_player2);
mSurface = (SurfaceView) findViewById(R.id.surface);
holder = mSurface.getHolder();
holder.addCallback(this);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(stream);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
mController = new MediaController(this);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mController.setMediaPlayer(this);
mController.setAnchorView(mSurface);
I opened the bug code.google.com/p/android/issues/detail?id=59776 after encountering the same issue as @kriswiz when I used VideoView and Player. The video will play on a Nexus 7 and on Samsung Nexus now.