关闭应用程序时如何停止声音
How stop the sound sounds when I close the app
当我关闭 app.or 按后退按钮时,我无法停止声音。声音在后台播放,没有任何小部件可以停止声音,所以这些是我的代码。如何解决这个问题。我需要什么?
谢谢:)
public class MainActivity extends AppCompatActivity {
MediaPlayer s1; Button agackakan;
MediaPlayer s2; Button getCam_bastankarasi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView (R.layout.activity_main);
s1 = MediaPlayer.create(MainActivity.this,ormann_agackakani_taklama);
s2 = MediaPlayer.create(MainActivity.this, R.raw.cam_bastankarasi);
agackakan=(Button) findViewById ( R.id.agackakan);
getCam_bastankarasi= (Button) findViewById (R.id.cambastankarasi);
agackakan.setOnClickListener(new View.OnClickListener () {
@Override
public void onClick(View v) {
s1.start();
} });
getCam_bastankarasi.setOnClickListener(new View.OnClickListener () {
@Override
public void onClick(View v) {
s2.start();
} });
您必须覆盖 activity
的 onPause()
将此代码写入您的 activity class...
@Override
protected void onPause()
{
super.onPause();
if(s1.isPlaying()){
s1.stop();
s1.release();
}
if(s2.isPlaying()){
s2.stop();
s2.release();
}
}
要在您的应用程序发送到后台时使 MediaPlayer 静音,您可以在每个 activity 的 onPause()
或 onStop()
上调用此代码在您的申请中:
public static void muteIfSentToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
if(s1 != null){
s1.stop();
s1.release();
s1 =null;
}
if(s2 != null){
s2.stop();
s2.release();
s2 = null;
}
}
}
}
希望对您有所帮助
@Override
protected void onPause() {
super.onPause();
muteIfSentToBackground(this);}
@Override
protected void onStop() {
super.onStop();
muteIfSentToBackground(this);}
当我关闭 app.or 按后退按钮时,我无法停止声音。声音在后台播放,没有任何小部件可以停止声音,所以这些是我的代码。如何解决这个问题。我需要什么? 谢谢:)
public class MainActivity extends AppCompatActivity {
MediaPlayer s1; Button agackakan;
MediaPlayer s2; Button getCam_bastankarasi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView (R.layout.activity_main);
s1 = MediaPlayer.create(MainActivity.this,ormann_agackakani_taklama);
s2 = MediaPlayer.create(MainActivity.this, R.raw.cam_bastankarasi);
agackakan=(Button) findViewById ( R.id.agackakan);
getCam_bastankarasi= (Button) findViewById (R.id.cambastankarasi);
agackakan.setOnClickListener(new View.OnClickListener () {
@Override
public void onClick(View v) {
s1.start();
} });
getCam_bastankarasi.setOnClickListener(new View.OnClickListener () {
@Override
public void onClick(View v) {
s2.start();
} });
您必须覆盖 activity
的onPause()
将此代码写入您的 activity class...
@Override
protected void onPause()
{
super.onPause();
if(s1.isPlaying()){
s1.stop();
s1.release();
}
if(s2.isPlaying()){
s2.stop();
s2.release();
}
}
要在您的应用程序发送到后台时使 MediaPlayer 静音,您可以在每个 activity 的 onPause()
或 onStop()
上调用此代码在您的申请中:
public static void muteIfSentToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
if(s1 != null){
s1.stop();
s1.release();
s1 =null;
}
if(s2 != null){
s2.stop();
s2.release();
s2 = null;
}
}
}
}
希望对您有所帮助
@Override
protected void onPause() {
super.onPause();
muteIfSentToBackground(this);}
@Override
protected void onStop() {
super.onStop();
muteIfSentToBackground(this);}