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

その後、自分でアクティビティを終了し、音楽を一時停止します...

編集: onBackPress()ではなく onBackPressed() をオーバーライドする必要があります。以下のコードを試して、ブレークポイントで戻るボタンを押したときに 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 に答える