MediaPlayer.start()因点击太多而死亡

时间:2012-04-07 08:31:19

标签: android

在Adnroid中,我首先通过

宣布媒体播放器
MediaPlayer mpl;

接下来我在onCreate方法中有这个

mp = new MediaPlayer();
mp = MediaPlayer.create(this, R.raw.hit );
mp.setVolume(1, 1);

和一个应该在调用时播放声音的函数

public void click()
{
    mp.start();
}

但问题是,如果用户多次调用此函数,在停止播放最后一个声音之前,它将会在应用重置之前死亡并停止播放任何声音。

任何想法如何解决?

谢谢!

编辑 - 找到解决方案:

mp.setOnCompletionListener(new OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
    mpl.release();
    }
});

2 个答案:

答案 0 :(得分:4)

public void click()
{
    if( ! mp.isPlaying() ) {
        mp.start();
    }//if
}//met

答案 1 :(得分:1)

你可以禁用按钮。

或者你可以停止当前播放并加注星标

onClick()中的新内容