第一步:定义Handler updatehandler,
第二步:定义线程类Thread updateThread , run方法中写while循环 obtainMessage,sendMessage,
public Thread updateThread = new Thread(new Runnable() {
@Override
public void run() {
flag = true;
while (flag) {
if (mMediaPlayer != null && VideoSurfaceParaSmall.getPlayFlag()) {
int curpos=mMediaPlayer.getCurrentPosition();
if ( curpos<= mSeekBar.getMax()) {
VideoSurfaceParaSmall.setCurrentPos(curpos);// 保存mMedia播放进度
mSeekBar.setProgress(mMediaPlayer.getCurrentPosition());
Message msg = handler.obtainMessage(CURR_TIME_VALUE_SMALL, ShowTime(curpos));
handler.sendMessage(msg);
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
其中private static final int CURR_TIME_VALUE_SMALL = 2;
第三步:将 线程 加入handler中..updatehandler.post(updateThread );
第四步:处理消息 handleMessage
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case CURR_TIME_VALUE_SMALL:
mCurTimeET.setText(msg.obj.toString());
break;
}
};
};
。。