0

我做了一个activity有音频作为背景音乐的。当我添加一个跳过按钮以移动到另一个activity时,我的第一个活动的背景音乐不断播放。这是我的代码,请检查并发布我应该添加到我的代码中的内容。提前致谢!

public class pgone extends Activity {
    protected boolean _active = true;
    protected int _splashTime = 7000;
     public void onAttachedToWindow() {
            super.onAttachedToWindow();
            Window window = getWindow();
            window.setFormat(PixelFormat.RGBA_8888);


        }

     MediaPlayer audio;
     MediaPlayer SLONE;

    private long splashDelay = 6000; 


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pgone);

        TimerTask task = new TimerTask()
        {

            public void run() {

                Intent mainIntent = new Intent().setClass(pgone.this, pgtwo.class);
                startActivity(mainIntent);
                finish();

            }

        };

        final Timer timer = new Timer();
        timer.schedule(task, splashDelay);


        audio = MediaPlayer.create(this,R.raw.storyaud);
        audio.start();

        SLONE = MediaPlayer.create(this,R.raw.sl1);
        SLONE.start();


        final MediaPlayer mp = MediaPlayer.create(this, R.raw.buttonbeep);
        final Vibrator mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);


Button skipButton = (Button)findViewById(R.id.skip);
skipButton.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        Intent skipIntent = new Intent(pgone.this,choose.class);
        startActivity(skipIntent);
         mp.start();
         mVibrator.vibrate(500);
        finish();
        timer.cancel();
        timer.purge();


    }
});

    }

    protected void exitByBackKey() {

        AlertDialog alertbox = new AlertDialog.Builder(this)
        .setMessage("Do you want to exit the game?")
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {


            public void onClick(DialogInterface arg0, int arg1) {

                finish();
            }
        })
        .setNegativeButton("No", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface arg0, int arg1) {
            }
        })
          .show();
    }

}
4

3 回答 3

1

在移动到下一个活动之前,您应该停止音频。在这里尝试用 mp.stop() 替换 mp.start(),

Button skipButton = (Button)findViewById(R.id.skip);
skipButton.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        Intent skipIntent = new Intent(pgone.this,choose.class);
        startActivity(skipIntent);
         mp.stop();
         mVibrator.vibrate(500);
        finish();
        timer.cancel();
        timer.purge();


    }
});
于 2012-09-03T04:12:29.973 回答
0

请写mp.stop() mp.reset()而不是mp.start()跳过按钮的单击事件,有关更多信息,请参见下面的链接。

播放声音的媒体播放器示例

简单的安卓 Mp3 媒体播放器

于 2012-09-03T05:09:06.267 回答
0

最简单最有效的方法——

@Override
    protected void onPause() {
        super.onPause();
        yoursMusicPlayerObject.release();

    }

当你跳转到下一个活动时,利用活动生命周期的 onPause 阶段。只需释放正在使用的 I/O 资源,这是你的 MediaPlayer 对象。

于 2014-07-08T18:28:07.730 回答