我的退出按钮在我点击它时没有播放声音,除此之外所有按钮都在播放声音。谁能解决这个问题?
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)
)。
// 这是我的应用程序退出按钮,它会破坏 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)
)。