Android 进度条-按增量暂停0.5秒?
我有一个进度条,我想前进5秒。我试图通过一个“for”循环10次,每次通过循环时,进度条都会增加进度条的1/10。我有代码将条数增加1/10,但我现在尝试创建一个循环: 将该条增加到1/10 等待0.5秒。。。 将条数增加到2/10 等待0.5秒。。。 将该条增加到3/10 等待0.5秒。。。 等等 这是我到目前为止的代码,但它不起作用,它将条推进到10/10(完整)。有什么想法吗 非常感谢Android 进度条-按增量暂停0.5秒?,android,Android,我有一个进度条,我想前进5秒。我试图通过一个“for”循环10次,每次通过循环时,进度条都会增加进度条的1/10。我有代码将条数增加1/10,但我现在尝试创建一个循环: 将该条增加到1/10 等待0.5秒。。。 将条数增加到2/10 等待0.5秒。。。 将该条增加到3/10 等待0.5秒。。。 等等 这是我到目前为止的代码,但它不起作用,它将条推进到10/10(完整)。有什么想法吗 非常感谢 for(int a = 0; a <= 10; a++){
for(int a = 0; a <= 10; a++){
if(mp1.isPlaying()){ // my 5 second wav file
int newProgress = pBar1.getProgress() + (pBar1.getMax() / 10);
if (newProgress < 0) {
newProgress = 0;
}
pBar1.setProgress(newProgress);
// pause for 0.5 seconds here//
}
for(inta=0;aThread.sleep(500);
将暂停半秒。但您必须在UI线程以外的线程中执行此操作。如果您将UI线程置于睡眠状态,则应用程序中的所有其他交互将锁定,直到睡眠结束。您所问的问题是,虽然我制作a很容易暂停0.5秒,但您的整个UI都将进入freez状态这很糟糕,你不应该这样做
您真正的问题似乎是需要一个进度条来说明您正在播放的音频剪辑中经过的时间。如果您正在使用,您可以使用getCurrentPosition
和getDuration
来计算任何大小的音频剪辑的时间。例如:
//Calculate the current clip position as a value between 0 and 100
int progress = (int) ((float) mp1.getCurrentPosition() / mp1.getDuration() * 100);