我的退出按钮在我点击它时没有播放声音,除此之外所有按钮都在播放声音。谁能解决这个问题?

My Quit Button is not playing the sound when i click it, except this all the button are playing sound. Can anyone solve this problem?

// 这是我的应用程序退出按钮,它会破坏 activity 并使用户退出应用程序。我想在单击此按钮时//播放声音,但不幸的是,声音没有播放,activity//销毁了。请帮我解决这个问题。除了这个按钮,我所有的按钮声音都正常。

// 这是我的第二个 activity,在这个 activity 中,我使用了一个按钮来退出应用程序,但我也//希望按钮在按钮按下时播放声音被用户点击。但它没有播放声音并//退出了破坏 activity 的应用程序。请告诉我如何在//单击

期间在我的退出按钮上播放声音
      mExitApp = (Button)findViewById(R.id.exit_app);

           final MediaPlayer mp = MediaPlayer.create(this, R.raw.sample2);

            mExitApp.setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    mp.start();
    
                    ScoreActivity.this.finish();

                    System.exit(0);
    
                }
            });

一种快速而肮脏的方法是等待声音结束播放,然后再完成 activity/process。

    public void onClick(View v) {
                    mp.start();
                    final Handler handler = new Handler(Looper.getMainLooper());
                    handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        ScoreActivity.this.finish();
                        System.exit(0);
                      }
                    }, 300);
                }

更清洁的解决方案可能涉及 MediaPlayer.OnCompletionListener

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
        finish(); // finish current activity
    }
});

或者您可以在 foreground/background 服务中播放声音。但是你不应该像现在这样杀死整个过程(System.exit(0))。