初学者,我有一个简单的问题。
在Android中,什么是最好的定期检查的东西?
请耐心听我说,我会尽力解释的--
例如,我的音频应用程序非常简单,一个主要的活动和一个服务。主活动有一个带有两个按钮的UI,即启动和停止音频。我按下start,音频服务启动。同样,当我单击Stop时,服务将停止,音频也将结束。如果isLooping()
被硬编码为true,则没有问题,因为除非我按下停止按钮,否则音频永远不会结束,这会停止音频服务并重置按钮状态。
这是一个问题,因为我将isLooping()
设置为false,这样音频就不会循环。因此,音频将停止播放,但服务仍在运行。
我希望能够检测到音频何时停止,这样我就可以设置UI按钮的状态。因此,我需要一些总是检查音频是否正在播放的工具(例如,检查player.isPlaying()
,这样我就可以结束服务并设置按钮的启用/禁用状态。
我弄清楚了绑定到服务,这样我就可以通过我的主活动访问MediaPlayer
控件,所以我知道检查它是否正在运行的代码,但是我应该把这些代码放在哪里,这样它就会一直被检查?
我说的有道理吗?我知道这可能很简单。谢谢你的帮助。
发布于 2010-08-01 20:10:14
你可以用TimerTask和定时器重复这个过程。代码如下:
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,在里面放上这个。
在run-code中,你可以检查音乐之外的其他东西,我只是给出了一个带有音频的例子。
https://stackoverflow.com/questions/3383439
复制