gpt4 book ai didi

java - CountDownTimer onTick

转载 作者:行者123 更新时间:2023-12-03 02:07:34 24 4
gpt4 key购买 nike

我正在使用CountDownTimer。我想在特定时间播放声音,仅供引用。好了,这是我的代码:

@Override
public void onTick(long l) {


if((TimeUnit.MILLISECONDS.toSeconds(l) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(l))) == 10){
reproducirAviso();
}

tiempo.setText(String.format("%02d:%02d", TimeUnit.MILLISECONDS.toMinutes(l),
TimeUnit.MILLISECONDS.toSeconds(l) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(l))));

}

怎么了?多次调用方法“reproducirAviso()”,声音断断续续地播放...
我该怎么做才能解决这个问题?
提前谢谢了!!!

最佳答案

如果您不想多次调用reproducirAviso(),请添加一个标志以检查是否已在运行reproducirAviso()。

例如,在某处设置静态 bool(boolean) 值,例如

public static boolean reproducing = false;

public void reproducirAviso()
{
//
// lots of your code
//
reproducing = false;
}

所以你的代码变成
@Override
public void onTick(long l)
{
if(!reproducing && (TimeUnit.MILLISECONDS.toSeconds(l) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(l))) == 10){
reproducirAviso();
}

tiempo.setText(String.format("%02d:%02d", TimeUnit.MILLISECONDS.toMinutes(l),
TimeUnit.MILLISECONDS.toSeconds(l) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(l))));

}

关于java - CountDownTimer onTick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26752404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com