在定时间隔播放声音的最佳方法?

问题描述:

我有一个Android应用程序需要在定时间隔播放声音资源,例如每120秒播放一次。在定时间隔播放声音的最佳方法?

我知道如何访问声音资源并播放它们,但这是我不确定的时间计时器部分。什么是最好的方法?

我最终放弃了Timer的方法,并用Handler代替android-labs

所以,与其产卵在我的活动的onCreateTimerTimerTask,我宣布本次非公开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(); 
}

这种方法似乎效果很好。