繁体   English   中英

一次如何播放音乐?

[英]how to play the music one time in …?

我想在共享首选项中有一个复选框:当该复选框为true时,这首歌曲将在activity1上播放。 打开列表项时,只需启动activity1 activity1我有一个用于检查sharepreferences并播放歌曲的类,因此:

当打开每个列表项时,它会播放歌曲,而在打开每个列表项时会播放很多歌曲。 如何在此活动中只播放一首歌。

每个列表项都需要调用:

protected void All()
{
    boolean music = sharedpreferences.getBoolean("musictype", false);
    if (music) { mp1.start(); } else { mp1.stop();}      
}                           
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;
        }
    }
}

基本上是这样的。 保留一个布尔标志,指示您是否已经玩过一次,并在播放前检查该值以及首选项值。 播放后,设置标志,使其不再播放。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM