Media Player无法正常工作

时间:2013-01-05 14:40:12

标签: android

在我的应用程序中,我在单击按钮时添加了声音

这是管理声音的课程

public class GestoreSuoni{
MediaPlayer mp; 

    public void playSound(Context context,int sound){
         mp = MediaPlayer.create(context, sound);
         mp.start();        
    }
}

在我的主要活动中,我为所有按钮调用方法playSound

button_name.setOnClickListener(new OnClickListener(){
    public void onClick(View arg0) {
        gestoreSuoni.eseguiSuono(getApplicationContext(),R.raw.tieni_suono);
    }               
});

起初它有效,但是在我的按钮上点击20-30次后,我再也听不到声音了,我从LogCat收到了这条消息:Mediaplayer错误( - 19,0)。

什么意思?

由于

2 个答案:

答案 0 :(得分:2)

停止时请释放内存。当您触摸按钮再次播放时,out of memoryallocating memory every time而收到此错误。

答案 1 :(得分:0)

按照Ilya Demidov建议的例子和Chinmoy Debnath的建议,我将这部分代码添加到管理MediaPlayer的方法

public class GestoreSuoni{
MediaPlayer mp; 

    public void playSound(Context context,int sound){

           //new code/////////
       if (mp!=null) {
           mp.release();
            mp = null;
        }
           ///////////////////

         mp = MediaPlayer.create(context, sound);
         mp.start();        
    }
}

现在似乎有效。我希望我已经(正确地帮助)解决了问题