2017-06-30 6 views
0

i play music bin versucht, wenn Benutzer klicken Sie in MUSIC ON Umschaltknopf und Musik wird angehalten, wenn er in MUSIC klicken OFF ich brauche auch Musik zu spielen, wenn App zu öffnen, ist dies mein Code funktioniert aber nichtWiedergabe und Pause Musik mit Toggle-Button

MediaPlayer mediaPlayer; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.vapor); 
    mediaPlayer.start(); 
    ..... 
    } 
MusicButton = (ToggleButton)findViewById(R.id.toggleButton); 
    MusicButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(MusicButton.isChecked()){ 
       mediaPlayer.start(); 
      } 
      else{ 
       mediaPlayer.stop(); 
       mediaPlayer.release(); 
      } 
     } 
    }); 

@Override 
public void onPause() { 
    mediaPlayer.stop(); 
    mediaPlayer.release(); 
    super.onPause(); 
} 

@Override 
public void onResume() { 
    mediaPlayer = MediaPlayer.create(this, R.raw.vapor); 
    mediaPlayer.setLooping(false); 
    mediaPlayer.start(); 
    super.onResume(); 
} 

Fehlerprotokoll:

java.lang.IllegalStateException bei android.media.MediaPlayer._start (native Methode) bei android.media.MediaPlayer.start (MediaPlayer.java:1384) bei com.myapp $ MainActivity $ 2.onClick (MainActivity.java:80)

Antwort

0

erste, sollten Sie nicht setOnClickListener() auf ToggleButton verwenden, ToggleButton hat Funktion setOnCheckedChangeWidgetListener zu listene den Status der Compten Sekunde, über Sie Fehler, vielleicht ist Ihre ToggleButton deaktiviert, wenn Sie darauf geklickt, ToggleButton werden überprüft und rufen Sie Code mediaPlayer.start();, aber Sie starten MediaPlayer bei onCreate() bereits, können Sie es überprüfen.

Verwandte Themen