gpt4 book ai didi

Android:停止功能监听点击和恢复

转载 作者:行者123 更新时间:2023-12-02 22:42:19 25 4
gpt4 key购买 nike

我有一个函数playsounds()它基本上一次又一次地播放相同的声音文件,但是具有不同的 float 值每次都称为“平衡”。每次播放后,我希望该功能停止并监听用户点击不同的 Button .如果没有点击,则调用下一个播放。

但是,如果用户单击,那么我想记录该余额值。我的问题是,一旦我启动该功能,就无法在两者之间停止它。所以即使我点击,它也不会被注意到。

你能帮我解决这个问题吗?

public void playsounds() throws InterruptedException
{

snd.setBalance(0);
snd.play(table);
Thread.sleep(2000);
tv.setText("Pressed at first call ");

snd.setBalance(0.04f);
snd.play(table);
Thread.sleep(2000);
tv.setText("Pressed at second call ");

snd.setBalance(0.08f);
snd.play(table);
Thread.sleep(2000);
tv.setText("and so on...");

snd.setBalance(0.12f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(0.16f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(1.0f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(1.84f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(1.88f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(1.92f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(1.96f);
snd.play(table);
Thread.sleep(2000);

snd.setBalance(2.0f);
snd.play(table);
Thread.sleep(2000);
}

最佳答案

如果我正确理解您的问题...您可以使用 bool 值并在您完成 sleep 后检查它吗?

public class MyClass implements OnClickListener{

private boolean buttonClick;

public void playSounds(){
//play sound
// sleep
if(buttonClick){
buttonClick = false;
//perform action or return
}
}

public void onClick(){
buttonClick = true;
}
}

如果在主线程上调用 Thread.sleep() 可能不是最佳选择,您将无法获得即时响应。您还可以使函数更小并一遍又一遍地调用它..类似
public void playSound(float fValue){
snd.setBalance(fValue);
snd.play(table);
//sleep
}

关于Android:停止功能监听点击和恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528217/

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