Instead of overriding back button etc, you should use fragment lifecycle methods.
You can override onStop() method in fragment to release media resource or stop.
@Override
public void onStop() {
super.onStop();
mp.release(); // or pause or stop.
Log.i(TAG, "onStop");
}
To control back button, in your activity class
@Override
public void onBackPressed() {
// do something, show toast message to confirm or go to another activity
}