Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaPlayer.start()因点击次数过多而死亡_Android - Fatal编程技术网

Android MediaPlayer.start()因点击次数过多而死亡

Android MediaPlayer.start()因点击次数过多而死亡,android,Android,在Adnroid中,首先我声明mediaplayer MediaPlayer mpl; 接下来,我在onCreate方法中使用了它 mp = new MediaPlayer(); mp = MediaPlayer.create(this, R.raw.hit ); mp.setVolume(1, 1); 还有一个函数,调用时应该播放声音 public void click() { mp.start(); } 但问题是,如果用户在停止播放最后一个声音之前多次调用此函数,则在应用程序重

在Adnroid中,首先我声明mediaplayer

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();
    }
});

您可以禁用该按钮

或者你可以停止当前的播放并成为明星


onClick()中的新增功能

您可以禁用该按钮

或者你可以停止当前的播放并成为明星

onClick()中的新特性

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