0
Ich habe einen MediaPlayer, der funktioniert und der Stop Button funktioniert einwandfrei. Wenn der Benutzer jedoch in die Aktivität einsteigt und die Stopp-Taste drückt, ohne Musik abzuspielen, stürzt die App ab. Wenn ein Lied gespielt wird, kann der Benutzer die Stopp-Taste so oft drücken, wie er es wünscht, und es funktioniert gut. Jede Hilfe wäre großartig!MediaPlayer Stop Button stürzt ab App
public class Website extends AppCompatActivity {
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridviewmusic);
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
stopPlaying();
mp = MediaPlayer.create(Website.this, R.raw.sound1);
mp.start();
// This will make sound
break;
case 1:
stopPlaying();
mp = MediaPlayer.create(Website.this, R.raw.sound2);
mp.start();
break;
case 2:
stopPlaying();
mp = MediaPlayer.create(Website.this, R.raw.sound3);
mp.start();
break;
case 3:
stopPlaying();
mp = MediaPlayer.create(Website.this, R.raw.sound4);
mp.start();
break;
case 4:
stopPlaying();
mp = MediaPlayer.create(Website.this, R.raw.sound5);
mp.start();
break;
case 5:
Intent i = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://play.google.com/store/music/"));
startActivity(i);
break;
}
}
});
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp.isPlaying()) {
mp.pause();
mp.seekTo(0);
}
}
});
}
private void stopPlaying() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
if(mp!= null)
{
mp.stop();
mp=null;
}
this.finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
if(mp!= null)
{
mp.stop();
mp=null;
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
Thankyou, es funktionierte! Wird deine Antwort so schnell wie möglich korrigieren – user2407147