如何在Android中的新活动中停止媒体播放器

时间:2014-02-09 17:57:59

标签: java android android-mediaplayer

我是Android的新手,并坚持停止同一活动中的媒体播放器
我想创建一个应用程序,为不同的活动播放不同的音乐 创建第一个活动后,我无法停止播放音乐 即使我退出我的应用程序,音乐仍在播放。

这是我的代码:

public class LayoutThreeActivity extends Activity {

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

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.layout_three, menu);
    return true;


}


public void openNewActivity(View view) {
    // Do something in response to button
    Intent intent = new Intent(this, LayoutOneActivity.class);
    startActivity(intent);


    MediaPlayer mp = MediaPlayer.create(this, R.raw.song2);
    mp.start();
}

2 个答案:

答案 0 :(得分:4)

您必须释放播放器OnPause或OnDestroy方法。

   @Override
   public void onDestroy() {
       if (mp!= null) mp.release();
   }

答案 1 :(得分:0)

  

我想创建一个可以播放不同音乐的应用   活动。

然后把这个东西放在你的onCreate方法&下面的类名称在每个要播放MediaPlayer的活动中:

   MediaPlayer mp=null;

在你的onCreate()方法中启动你的音乐&从openNewActivity()方法中删除此代码:

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

创建第一个活动后,我无法停止播放音乐。甚至   当我退出我的应用程序时,音乐仍在播放。

然后将其放入您启动MediaPlayer的每个活动中:

@Override
        protected void onPause() {
            // TODO Auto-generated method stub
            super.onPause();
            mp.stop();
        }
    @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            mp.stop();
        }