2016-01-22 155 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(); 

     } 
    }); 
} 

每次我開始第二活性,嗶聲將開始。