2014-09-01 33 views
0

暫時我在重複播放後在LogCat「Mediaplayer錯誤(-19,0)」。所以我第一次玩我的應用程序一切都很好,但一段時間後聲音不再工作了。如何發佈Android MediaPlayer?

public TextView tw; 
MediaPlayer mpButtonKlick; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.app); 


    tw = (TextView)findViewById(R.id.Text); 

    tw.setOnClickListener(this); 

    mpButtonKlick = MediaPlayer.create(this, R.raw.sound); 




@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    mpButtonKlick.start(); 
+0

http://developer.android.com/guide/topics/media/mediaplayer.html – 2014-09-01 11:28:19

+1

mediaPlayer.release(); mediaPlayer = null; – 2014-09-01 11:29:44

+0

直接在「mpButtonKlick.start();? – Knacks 2014-09-01 11:51:55

回答

1

你發佈這樣的:

mpButtonKlick.release(); 
mpButtonKlick = null; 

這是很好的做法,當你開始玩新媒體,以確保只有一個實例運行也釋放MediaPlayer對象。

private void stopMedia(){ 
    mpButtonKlick.release(); 
    mpButtonKlick = null; 
} 

,當你調用start()確保先調用stopMedia();

stopMedia(); 
mpButtonKlick.start(); 
+0

之後」非常感謝,我必須將它放在代碼中嗎? – Knacks 2014-09-01 14:13:58

+0

在您的播放器的點擊處理器和媒體播放器的停止按鈕中,您會如何處理媒體播放器? – Michael 2014-09-01 16:04:46

1

試試這個吧。

protected void onStop() 
{ 
    mediaPlayer.release(); 
    mediaPlayer = null; 
} 
+0

Thx,它沒有工作,我的應用程序很快就停止工作......?! – Knacks 2014-09-01 14:47:18