我四处寻找,但没有找到答案。我正在使用MediaRecorder
类和setMaxDuration(10000)
方法录制视频。但是,我想显示在这 10 秒的进度条中已经过去了多少时间。我只看到使用类的getDuration
方法的例子MediaPlayer
。谁能给我一个如何使用MediaRecorder
with的例子progress bar
?非常感谢。
问问题
1842 次
1 回答
2
只需使用Timer
.
//fires once a second, decrease this to fire more frequently
private static final int TIMER_FREQ = 1000;
//ProgressBar setup. You should do this in a way more tailored to your needs,
//but I've included it anyway
final ProgressBar progressBar = new ProgressBar(this); //where this is a Context
progressBar.setMax(10000);
Timer progressBarAdvancer = new Timer();
progressBarAdvancer.scheduleAtFixedRate(new TimerTask() {
public void run() {
progressBar.setProgress(progressBar.getProgress() + TIMER_FREQ);
}
},
0, //Delay before first execution
TIMER_FREQ);
这将在progressBar
与录制不同的线程上运行,但它将在 10 秒内完成,此时您可以停止录制、完成等。
于 2012-08-10T15:15:10.170 回答