2016-01-22 115 views
0

我有一个应用程序,其中第一个活动有一个开始按钮,当按钮被按下时,第二个活动弹出一个类似于计算器的东西。每次按下数时,媒体声音会与下面的代码android mediaplayer不会播放

if (mp != null) { 
    if (mp.isPlaying()) { 
     mp.stop(); 
     mp.release(); 
    } 
    mp = null; 
} 
MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.c4_beep1); 
mp.start(); 

现在,当用户与第二活动进行播放,并按下一个按钮返回到第一个活动与

mTextView.setText("its over"); 
Intent myIntent = new Intent(getApplicationContext(), DefuseMe.class); 
startActivity(myIntent); 
finish(); 
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_righ); 

在这里一切正常,但当我按开始再次从第一个活动,声音停止工作。

**编辑:**我把完成()那里,因为我认为它会杀了第二个活动,当我按下开始再次将开始一个新的活动,我想一切都会刚刚工作精细。

+0

你保持的代码onCreate方法上面的代码片段? –

回答

0

我让此运行successfully.My代码是为如下:

1:ActivityOne:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    button1 = (Button)findViewById(R.id.button1); 

    button1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      if (mp != null) { 
       if (mp.isPlaying()) { 
        mp.stop(); 
        mp.release(); 
       } 
       mp = null; 
      } 

      mp = MediaPlayer.create(MainActivity.this, R.raw.beep); 
      mp.start(); 

      Intent intent = new Intent(MainActivity.this,SecondActivity.class); 
      startActivity(intent); 

     } 
    }); 
} 

2:活动2:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_two_layout); 

    button1 = (Button)findViewById(R.id.button1); 
    button1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      SecondActivity.this.finish(); 

     } 
    }); 
} 

每次我开始第二活性,哔声将开始。