gpt4 book ai didi

android - 在给定的时间间隔后在android中发出声音

转载 作者:行者123 更新时间:2023-11-29 01:29:37 31 4
gpt4 key购买 nike

我正在制作一个应用程序,其中有 2 个 Button。现在我希望当我点击 button1 时,它会在给定的时间间隔后发出声音,并在无限循环中继续发出声音,直到并且除非我不按下 button2>。假设button1 & Button2分别是Start & stop。

例如,我现在在 Toast 中显示日期和时间。就像当我点击 button1 时它会显示 toast 。

现在我想要的是应该在给定的时间间隔内继续显示 toast,直到并且除非我不按下 button2

现在我只能在 button1 的点击时显示 toast ,因为我对如何设置循环感到困惑。

任何人都可以帮助我解决我的问题。这对我会有很大的帮助。顺便说一句,我还在学习。

这是我的 button1 代码,即 StartBtn:

StartBtn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
String strDate = sdf.format(c.getTime());

Toast.makeText(getApplicationContext(), strDate, Toast.LENGTH_LONG).show();
}
});

最佳答案

这应该有效:

    private Handler mHandler = new Handler();

@Override
public void onClick(View v) {
if (v.getId() == R.id.button1) {
playSoundWithDelay();
} else if (v.getId() == R.id.button2) {
mHandler.removeCallbacksAndMessages(null);
}
}

private void playSoundAfterDelay() {
mHandler.removeCallbacksAndMessages(null);
mHandler.postDelayed(new Runnable() {

@Override
public void run() {
// Play Sound;
// Repeat after 1 sec
mHandler.postDelayed(this, 1000);
}

}, 5000);
}

要在应用程序关闭或在后台时停止 Sound/Toast,请添加:

@Override
public void onPause() {
super.onPause();
mHandler.removeCallbacksAndMessages(null);
}

关于android - 在给定的时间间隔后在android中发出声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31994577/

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