在我的应用程序中,我在单击按钮时添加了声音
这是管理声音的课程
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)。
什么意思?
由于
答案 0 :(得分:2)
停止时请释放内存。当您触摸按钮再次播放时,out of memory
因allocating 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();
}
}
现在似乎有效。我希望我已经(正确地帮助)解决了问题