Here is my custom media controller. I would like to add listeners for fast forward and rewind buttons. I am able to add listeners for previous/next videos. But not on these buttons. Can any one point out a reference or give an idea on how to implement it?
public class MediaController extends MediaController {
MyListener mListener;
public MediaController(Context context) {
super(context);
}
public MediaController(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MediaController(Context context, boolean useFastForward) {
super(context, useFastForward);
}
@Override
public void show(int timeout) {
super.show(3000);
}
@Override
public void hide() {
super.hide();
}
public interface MyListener {
public void onSetVisibilityCalled();
}
public void registerListener(MyListener myListener) {
this.mListener = myListener;
}
public void setVisibility(int visibility) {
super.setVisibility(visibility);
if (mListener != null)
mListener.onSetVisibilityCalled();
}
}
Listeners for prev/next buttons
// Media control event listener
MediaController.setPrevNextListeners(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("forward button pressed");
}
}, new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("backward button pressed");
}
});
Found a way myself by adding custom VideoView
. Added condition by overriding seekTo()
method.
public interface SeekListener {
void onSeekTo(boolean ffwdrwd);
}
@Override
public void seekTo(int pos) {
boolean ffwdrwd = false;
if (super.getCurrentPosition() <= pos)
ffwdrwd = false;
else
ffwdrwd = true;
if (mListener != null) {
mListener.onSeekTo(ffwdrwd);
}
super.seekTo(pos);
}
And in my activity,
videoView.setSeekListener(new SeekListener() {
@Override
public void onSeekTo(boolean ffwdrwd) {
if(ffwdrwd)
//Movie Player - Seeking backward
else
//Movie Player - Seeking forward
}
});