Android 安卓MediaPlayer播放不止一次

Android 安卓MediaPlayer播放不止一次,android,android-mediaplayer,Android,Android Mediaplayer,我有一个问题,android MediaPlayer在同一时间多次随机播放给定歌曲。我会听到这首歌的两个例子,听起来很糟糕。这是我的密码: static MediaPlayer mp; boolean music; Context c; public Music(Context c){ this.c = c; } public void playSound(Context context){ mp = MediaPlayer.create(context, R.r

我有一个问题,android MediaPlayer在同一时间多次随机播放给定歌曲。我会听到这首歌的两个例子,听起来很糟糕。这是我的密码:

static MediaPlayer mp;
boolean music;
Context c;

public Music(Context c){
    this.c = c;
}

public void playSound(Context context){      
    mp = MediaPlayer.create(context, R.raw.n);
    if(!mp.isPlaying()){
        mp.start();
    }
}

public void playMusic(){
    if(!music){
        playSound(c);
        music = true;
    }
}
音乐文件是一个.mp3文件,长度为4.33


提前谢谢

尝试mp.setLooping(false);另外,在playsound()中,您说如果音乐没有播放,请重新播放。您没有提供足够的代码来确定实际问题,但我打赌您基本上是在
活动中使用静态
MediaPlayer
,对吗?那是个糟糕的设计。
MediaPlayer
应该在本地
服务中
,这样它就不会与
活动
生命周期绑定。