我遇到的问题是我的按钮声音在一段时间后停止工作但是再过几次按下后再次按下。
public class custom extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.nnine);
final MediaPlayer nnButtonClick = MediaPlayer.create(this, R.raw.jngjgnsj);
final MediaPlayer mnButtonClick = MediaPlayer.create(this, R.raw.hfh);
答案 0 :(得分:0)
看起来你在onCreate()中定义了你的MediaPlayer实例。这意味着如果未调用onCreate()(即活动从暂停状态恢复),则不会调用onCreate,并且您的MediaPlayer实例将不存在。您的按钮定义也不会。
基本上,您希望在活动的第一次创建之后保留的任何内容都应该成为成员变量。
您还应该@Override onPause()
,以便拨打nm.stop()
和/或nn.stop()
。
你也应该在两者上调用release()
,如果它们都不为空,则将它们都设置为null。
编辑:在活动的顶部定义您的变量,而不是在onCreate()中定义 - 否则它们将无法在该函数调用之后存活:
public class CustomActivity extends Activity {
//notice how I've put the button definitions up here, so they live as long as the activity does?
final MediaPlayer clickPlayer1
final MediaPlayer clickPlayer2
Button this;
Button next;
Button previous;
//etc etc...
}