Java 如何在…中播放一次音乐。。。?
我在共享首选项中有一个复选框,希望: 当复选框为true时,此歌曲将在Java 如何在…中播放一次音乐。。。?,java,android,media-player,listitem,Java,Android,Media Player,Listitem,我在共享首选项中有一个复选框,希望: 当复选框为true时,此歌曲将在活动1上播放。 打开列表项时,只需开始活动1。 在activity1中,我有一个类可以检查sharepreferences并播放歌曲,以便: 打开每个列表项时播放歌曲,打开每个列表项时播放多首歌曲。 如何在此活动中仅播放一首歌曲 这是对每个列表项的调用: protected void All() { boolean music = sharedpreferences.getBoolean("musictype", fa
活动1
上播放。
打开列表项时,只需开始活动1
。
在activity1
中,我有一个类可以检查sharepreferences并播放歌曲,以便:
打开每个列表项时播放歌曲,打开每个列表项时播放多首歌曲。
如何在此活动中仅播放一首歌曲
这是对每个列表项的调用:
protected void All()
{
boolean music = sharedpreferences.getBoolean("musictype", false);
if (music) { mp1.start(); } else { mp1.stop();}
}
基本上是这样的。保留一个布尔标志,表明您是否已经玩过一次,并在玩之前检查该标志以及首选项值。播放完毕后,设置标志,使其不再播放。您何时调用
All()
?如果你每次点击一个项目都会调用它,那么是的,它每次都会播放。是的,当点击每个项目时。我想阻止下一个开始。它可能与信号灯、监视器或。。。?
public class Activity1 extends Activity {
boolean hasPlayed;
boolean shouldPlayMusic;
public void onCreate(Bundle savedInstanceState) {
hasPlayed = false;
SharedPreferences prefs = PreferenceManager.getDefaultSharePreferences();
shouldPlayMusic = prefs.getBoolean("musictype", false);
//other initialization
}
protected void All() {
if(shouldPlayMusic && !hasPlayed) {
//Should check state of MediaPlayer too
mp1.start();
hasPlayed = true;
}
}
}