我试图在Android应用程序中创建视频播放器,并且我想在播放视频时更新SeekBar。这里是我的代码,其中两个第一行是在OnCreate方法:SeekBar更新不起作用
seekBar = (SeekBar) findViewById(R.id.seekBar);
seekBar.setOnSeekBarChangeListener(change);
private OnSeekBarChangeListener change = new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
int progress = seekBar.getProgress();
if (vv_video != null && vv_video.isPlaying()) {
// Set the position of the currently playing
vv_video.seekTo(progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
}
};
而且在播放方法我试过如下:
protected void play(int msec) {
.....
seekBar.setMax(vv_video.getDuration());
// To update the progress bar thread, scale
new Thread() {
@Override
public void run() {
try {
isPlaying = true;
while (vv_video.isPlaying()) {
int current = vv_video.getCurrentPosition();
seekBar.setProgress(current);
sleep(500);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
这不工作;在播放视频时,我的seekBar总是在位置= 0处。