我試圖在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處。