最近在给工厂写test program,写的几个都与Timer有关,下面就将设置定时功能的方法分享给大家
eg 1: 播放一段时间的video
public class Test extends Activity{
private String path = "/sdcard/ok.mp4"; //设置video文件的路径
private VideoView mVideoView;
private Timer mTimer=null;
private TimerTask mTimerTask=null;
private static final int TIMER_LIMIT=50*1000; //设定播放时间50s
private Handler mHandler=new Handler(){ //时间到的响应
public void handleMessage(Message msg){
mVideoView.stopPlayback();
}
};
@Override
public void onCreate (Bundle saveInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mVideoView = (VideoView) findViewById(R.id.videoview);
mVideoView.setVideoPath(path);
mVideoView.start(); //开始播放
startTimer(); //开始计时
mVideoView.setOnCompletionListener(new OnCompletionListener() { //设置让video在时间未到时重播
@Override
public void onCompletion(MediaPlayer mp) {
mVideoView.start();
}
});
}
private void startTimer() {
mTimer=new Timer();
if (mTimerTask == null){
mTimerTask=new TimerTask(){
public void run(){
mTimer.cancel();
mHandler.sendMessage(mHandler.obtainMessage()); //时间到时发出message
mTimer=null;
mTimerTask=null;
}
};
mTimer.schedule(mTimerTask, TIMER_LIMIT);
}
}
}
有点跳跃,不知道大家能否看懂,不懂留言问吧
另一个例子在我的下一篇文章中