0

這是我的第一個問題。它在media.release()行中提供NullPointerException。精確的輸出是NullPointerException異常(@ ProgressDetailRecyclerViewAdapter $ 5:onCompletion:308){主}Android MediaPlayer OnCompletion空指針異常

​​
+0

變化'mediaPlayer.release()內;''到mp.release();' –

回答

0

試試這個

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
      @Override 
      public void onCompletion(MediaPlayer mp) { 
       mp.release(); //line 308 
       mp= null; 
      } 
     }); 
+0

嘿快學習者,mp.stop()是否需要上面的mp.release() –

+0

你打電話給mp.stop(); ? –

0

獲取傳遞到您的onCompletion方法的變量命名爲mp,不mediaPlayer。可能你的mediaPlayer變量已被初始化爲零,導致錯誤。更改代碼以:

@Override 
public void onCompletion(MediaPlayer mp) { 
    mp.release(); //line 308 
    mp = null; 
} 
+0

嘿Jokab,mp.stop()是必需的或不是上面的mp.release() –

+0

@UpendraSinghChauhan在你的代碼中沒有'mp.stop'。我不明白你的意思。 – Jokab

+0

是的,這不是寫在我的問題,但我要求在釋放資源(mp.release)之前mp.stop()是否需要。這是一個很好的做法,這是我想知道的。我是android開發新手。 –

0
@Override 
      public void onCompletion(MediaPlayer **mp**) { 
       **mediaPlayer**.release(); //line 308 
       mediaPlayer = null; 
      } 

使用正確的對象MP代替MEDIAPLAYER這種方法

+0

Hey Uma,mp.stop()是必需的或不是上面的mp.release() –