Android媒体播放器不会玩

时间:2016-01-22 15:20:23

标签: android 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);

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

**编辑:**我把 finish()放在那里因为我认为它会杀死第二个活动,当我再次按 start 时它会启动一个新的活动,我认为一切都会好起来的。

1 个答案:

答案 0 :(得分:0)

我成功运行。我的代码如下:

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:活动二:

@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();

        }
    });
}

每次我开始第二次活动时,都会发出哔哔声。