Java.lang.IllegalStateException in MediaPlayer.isplaying () -Methode

public static MediaPlayer mp=null; public static void playGeneric(int name, final ImageButton button,final ImageButton pervious,Context context) { button.setEnabled(false); button.setClickable(false); pervious.setEnabled(false); pervious.setClickable(false); try{ if(mp != null && mp.isPlaying()) { mp.stop(); mp.release(); mp = null; mp=MediaPlayer.create(context, name); mp.start(); } else { mp = MediaPlayer.create(context, name); mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer arg0) { //mp.prepare(); mp.start(); } }); mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub mp.release(); System.out.println("Object released"); button.setEnabled(true); button.setClickable(true); pervious.setEnabled(true); pervious.setClickable(true); } }); } } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); e.getMessage(); } catch (NullPointerException e) { // TODO Auto-generated catch block e.printStackTrace(); e.getMessage(); } } 

Gib mir java.lang.IllegalStateException auf mp.isplaying () Methode.

Ich möchte Musik aufhören, wenn es spielt und spielt einen anderen Song nacheinander.

  • Android MediaPlayer funktioniert gut in Custom Audio Streaming Anwendung bis zu Android 2.1 aber nicht in höheren Versionen
  • Wie schließe ich einen Ton ohne Lücken in Android?
  • Warum dauert es so lange für Android MediaPlayer, um Live-Streams für die Wiedergabe vorzubereiten?
  • Wie man MediaPlayer in Android stumm schaltet
  • Streaming Audio von einer URL in Android mit MediaPlayer?
  • Ausgabe mit MediaPlayer-Pufferzeit beim Streaming von Audio
  • Logcat:

     10-14 15:12:05.474: E/MediaPlayer(15411): prepareAsync called in state 8 10-14 15:12:05.474: W/System.err(15411): java.lang.IllegalStateException 10-14 15:12:05.474: W/System.err(15411): at android.media.MediaPlayer.prepare(Native Method) 10-14 15:12:05.474: W/System.err(15411): at com.rogerscenter.LearnReadWriteSpell.Utility.Music.playGeneric(Music.java:93) 10-14 15:12:05.474: W/System.err(15411): at com.rogerscenter.LearnReadWriteSpell.LetterCategory.Letter_Lesson1_activity.onCreate(Letter_Lesson1_activity.java:140) 10-14 15:12:05.474: W/System.err(15411): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-14 15:12:05.474: W/System.err(15411): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586) 10-14 15:12:05.474: W/System.err(15411): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 10-14 15:12:05.474: W/System.err(15411): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 10-14 15:12:05.474: W/System.err(15411): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928) 10-14 15:12:05.484: W/System.err(15411): at android.os.Handler.dispatchMessage(Handler.java:99) 10-14 15:12:05.484: W/System.err(15411): at android.os.Looper.loop(Looper.java:123) 10-14 15:12:05.484: W/System.err(15411): at android.app.ActivityThread.main(ActivityThread.java:3647) 10-14 15:12:05.484: W/System.err(15411): at java.lang.reflect.Method.invokeNative(Native Method) 10-14 15:12:05.484: W/System.err(15411): at java.lang.reflect.Method.invoke(Method.java:507) 10-14 15:12:05.484: W/System.err(15411): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 10-14 15:12:05.484: W/System.err(15411): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 10-14 15:12:05.484: W/System.err(15411): at dalvik.system.NativeStart.main(Native Method) 

  • den Benachrichtigungs-Bar-Schatten in der Android-App entfernen
  • Android MediaPlayer dauert lange Zeit, um vorzubereiten und zu puffern
  • Android-Taste Onclick
  • Android bekommt aktuelle UTC Zeit
  • ViewPager Fragmente werden im Laufe der Zeit zerstört?
  • Ist java.util.Scanner das langsam?
  • 3 Solutions collect form web for “Java.lang.IllegalStateException in MediaPlayer.isplaying () -Methode”

    Als android docs deuten darauf hin, dass, wenn mp ist, wenn nicht zu diesem Zeitpunkt initialisiert wurde java.lang.IllegalStateException wird geworfen, so dass Sie zuerst initialisieren müssen oder Sie müssen schreiben

    Schauen Sie sich die docs http://developer.android.com/reference/android/media/MediaPlayer.html#isPlaying ()

    Versuche es so

      mp=MediaPlayer.create(context, name); try { if (mp.isPlaying()) { mp.stop(); mp.release(); mp=MediaPlayer.create(context, name); } mp.start(); } catch (Exception e) { } 

    Versuchen Sie, mp.release() in reset() ändern. Das könnte dir helfen

    Benutze runOnUiThread für mediaRecorder vorbereiten.

     private boolean prepareMediaRecorder() { mediaRecorder = new MediaRecorder(); runOnUiThread(new Runnable() { @Override public void run() { mediaRecorder.reset(); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setOutputFile(filePath); try { mediaRecorder.prepare(); } catch (IOException e) { mediaRecorder = null; return; } mediaRecorder.start(); recording = true; } }); return true; } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.