0

我正在 Android 中实现媒体播放器。当我运行应用程序时,我的音乐正在播放,当我单击后退按钮时,我的活动退出。但是我希望当我单击返回按钮时,我的音乐处于暂停状态并且活动想要完成,并且当我重新启动我的应用程序时,我的音乐处于恢复状态。我使用了 onBackPressed(),唯一的活动是完成音乐,而不是暂停。我怎样才能做到这一点?

这是我的代码。

public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.audio);
            init();


            mp=MediaPlayer.create(Audio_Activity.this,R.raw.ennamo_yadho);
            Log.e("Song is playing","in  Mediya Player ");
            mp.setLooping(false);
            mp.start();
            System.out.println("B4 button Click!!!!");

            if(mp.isPlaying())
            {
                if(mp!=null)
                {


                    length=mp.getCurrentPosition();
                    mp.seekTo(length);
                    mp.start();
                }

            }


            mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() 
            {

                @Override
                public void onCompletion(MediaPlayer mp) 
                {
                    // TODO Auto-generated method stub
                    //finish(); Activity is exist
                    mp.stop();
                    mp.release();
                    btnChapter.setEnabled(true);
                    System.out.println("Music is over and Button is enable !!!!!!");
                }
            });



    public void onBackPress()
        {
            super.onBackPressed();
            if(mp.isPlaying())
            {
                if(mp!=null)
                {
                    mp.pause();
                    finish();
                    System.out.println("Back Button Is Call and Audio Is on Pause state ");

                }
            }

        }

    }
4

1 回答 1

0

你应该删除

super.onBackPressed();

然后自己完成你的活动并暂停你的音乐......

编辑:你应该覆盖onBackPressed()而不是 onBackPress() 试试下面的代码,并检查 mp.pause 是否在按下带有断点的后退按钮时被调用:

@Override
public void onBackPressed ()
{
        if(mp.isPlaying())
        {
            if(mp!=null)
            {
                mp.pause();
                this.finish();
                System.out.println("Back Button Is Call and Audio Is on Pause state ");

            }
        }
}
于 2013-07-06T10:11:03.377 回答