初学者,我有一个简单的问题。
在 Android 中,定期检查什么是最好的?
请耐心等待,我会尽力解释 --
例如,我的音频应用非常简单,一个主要 Activity 和一个服务。主要 Activity 有一个带有两个按钮的用户界面,启动和停止音频。我按下启动键,音频服务启动。同样,当我单击“停止”时,服务停止并且音频结束。如果 isLooping()
被硬编码为 true 则没有问题,因为音频永远不会结束,除非我按下停止按钮,这会停止音频服务并重置按钮状态。
现在这是一个问题,因为我将 isLooping()
设置为 false,因此音频不会循环播放。因此音频将停止播放但服务仍在运行。
我希望能够检测到音频何时停止,以便我可以设置 UI 按钮的状态。所以我需要一些始终检查音频是否正在播放的东西(即检查 player.isPlaying()
以便我可以结束服务并设置按钮的启用/禁用状态。
我想出了绑定(bind)到服务的方法,这样我就可以通过我的主要 Activity 访问 MediaPlayer
控件,所以我知道检查它是否正在播放的代码,但是我把这段代码放在哪里以便检查所有时间?
我说的有道理吗?我知道这可能很简单。感谢您的帮助。
最佳答案
您可以使用 TimerTask 和 Timer 重复它。代码如下:
public final void RepeatSoundFunction(){
t = new Timer();
tt = new TimerTask() {
@Override
public void run() {
mp.seekTo(0); //Reset sound to beginning position
mp.start(); //Start the sound
t.purge(); //Purge the sound
}
};
t.schedule(tt, 10*1000); //Schedule to run tt (TimerTask) again after 10 seconds
}
然后你设置一个 MediaPlayer onCompletionListener 并把它放在那里。
在运行代码中,您可以检查除 音乐,我只是用音频来展示一个例子。
关于android - 如何定期检查一些东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3383439/