在定时间隔播放声音的最佳方法?
问题描述:
我有一个Android应用程序需要在定时间隔播放声音资源,例如每120秒播放一次。在定时间隔播放声音的最佳方法?
我知道如何访问声音资源并播放它们,但这是我不确定的时间计时器部分。什么是最好的方法?
答
我最终放弃了Timer
的方法,并用Handler
代替android-labs。
所以,与其产卵在我的活动的onCreate
的Timer
和TimerTask
,我宣布本次非公开Handler
与在线Runnable
:
private Handler _playRandomSoundHandler = new Handler();
private Runnable _playRandomSoundTask = new Runnable() {
public void run() {
SoundManager.playRandom();
_playRandomSoundHandler.postDelayed(_playRandomSoundTask, Prefs.getDelayInMilliseconds(getApplicationContext()));
}
};
此外,我不得不将代码添加到我的活动的onResume
和:
@Override
protected void onResume() {
super.onResume();
_playRandomSoundHandler.postDelayed(_playRandomSoundTask, Prefs.getDelayInMilliseconds(this));
}
@Override
protected void onPause() {
super.onPause();
_playRandomSoundHandler.removeCallbacks(_playRandomSoundTask);
SoundManager.stop();
}
这种方法似乎效果很好。