package com.wpc.library.videocomponents;
|
|
import android.support.v4.media.TransportMediator;
|
import android.support.v4.media.TransportPerformer;
|
import android.widget.VideoView;
|
|
public class SimpleTransportPerformer extends TransportPerformer {
|
|
private VideoView mVideoView;
|
|
public SimpleTransportPerformer(VideoView videoView) {
|
super();
|
this.mVideoView = videoView;
|
}
|
|
@Override
|
public void onStart() {
|
mVideoView.start();
|
}
|
|
@Override
|
public void onStop() {
|
mVideoView.pause();
|
}
|
|
@Override
|
public void onPause() {
|
mVideoView.pause();
|
}
|
|
@Override
|
public long onGetDuration() {
|
return mVideoView.getDuration();
|
}
|
|
@Override
|
public long onGetCurrentPosition() {
|
return mVideoView.getCurrentPosition();
|
}
|
|
@Override
|
public void onSeekTo(long pos) {
|
mVideoView.seekTo((int) pos);
|
}
|
|
@Override
|
public boolean onIsPlaying() {
|
return mVideoView.isPlaying();
|
}
|
|
@Override
|
public int onGetBufferPercentage() {
|
return mVideoView.getBufferPercentage();
|
}
|
|
@Override
|
public int onGetTransportControlFlags() {
|
int flags = TransportMediator.FLAG_KEY_MEDIA_PLAY
|
| TransportMediator.FLAG_KEY_MEDIA_PLAY_PAUSE
|
| TransportMediator.FLAG_KEY_MEDIA_STOP;
|
if (mVideoView.canPause()) {
|
flags |= TransportMediator.FLAG_KEY_MEDIA_PAUSE;
|
}
|
if (mVideoView.canSeekBackward()) {
|
flags |= TransportMediator.FLAG_KEY_MEDIA_REWIND;
|
}
|
if (mVideoView.canSeekForward()) {
|
flags |= TransportMediator.FLAG_KEY_MEDIA_FAST_FORWARD;
|
}
|
return flags;
|
}
|
}
|