0

Ich habe ein Problem mit meinem MediaPlayer, die ich eingestellt habe, um mit einer Taste zu spielen und zu pausieren.MediaPlayer Probleme mit der Wiedergabe nur einmal in der Liste der Bilder

Es spielt auf dem ersten Klick auf eine beliebige Position aber nach dieser nichts spielt, und es zeigt dies in logcat:

java.lang.IllegalStateException 
08-23 11:06:40.330 6482-9285/package.com W/System.err:  at android.media.MediaPlayer.nativeSetDataSource(Native Method) 
08-23 11:06:40.330 6482-9285/package.com W/System.err:  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1078) 
08-23 11:06:40.330 6482-9285/package.com W/System.err:  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:103 

Ich nenne diese Methode in einem getView Methode in meinem CustomListAdapter und die Geräusche sind vergangen in durch Arrays durch TabActivities:

public void setTheSounds(ImageView playPause, final int position){ 
     try { 
      Thread t = new Thread(new Runnable() { 
       @Override 
       public void run() { 
        try { 
         if(!mp.isPlaying()){ 
          mp.setDataSource(sound[+position]); 
          mp.prepare(); 
          mp.start(); 
         } else { 
          mp.pause(); 
         } 
        } catch (Exception e) { 
         e.printStackTrace(); 
         Log.e("GGGGGG", "prepare() failed"); 
        } 
       } 
      }); 
      t.start(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
+0

Hast du gesehen [https://stackoverflow.com/a/29088537/4056108] – chirag90

Antwort

0

Click Hear. Ich denke, es wird Ihnen helfen, Media Player Callbacks zu behandeln.

0

Sie müssen das Media Player-Objekt zurücksetzen, bevor Sie einen neuen Wert übergeben.

+0

Ich hatte dies aber die Sache ist der Benutzer kann pausieren und dann eine andere mp3 in der Liste spielen so wasn t arbeiten korrekt: public void onCompletion (MediaPlayer mp) { // TODO Automatisch generierter Methoden-Stub mp.reset(); } }); – Sam

Verwandte Themen