我四处寻找,但没有找到答案。我使用MediaRecorder
类和setMaxDuration(10000)
方法录制视频。但是我想显示在这10秒的进度条中经过了多长时间。我只看到使用getDuration
类和MediaPlayer
类的示例。任何人都可以举例说明如何将MediaRecorder
与progress bar
一起使用吗?非常感谢。
答案 0 :(得分: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秒内完成,此时您可以停止录音,完成等等。