Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我播放活动中的音乐时,Backround中的音乐不会';停不下来?_Java_Android_Android Studio - Fatal编程技术网

Java 当我播放活动中的音乐时,Backround中的音乐不会';停不下来?

Java 当我播放活动中的音乐时,Backround中的音乐不会';停不下来?,java,android,android-studio,Java,Android,Android Studio,当我按下播放按钮时,我想停止背景中的歌曲并播放我的歌曲 此播放和暂停功能: public void play(View view) { mp.start(); if (mp != null && mp.isPlaying()){ play.setVisibility(View.INVISIBLE); pause.setVisibility(View.VISIBLE); }else{ pause.setVisi

当我按下播放按钮时,我想停止背景中的歌曲并播放我的歌曲

此播放和暂停功能:

public void play(View view) {
    mp.start();
    if (mp != null && mp.isPlaying()){
        play.setVisibility(View.INVISIBLE);
        pause.setVisibility(View.VISIBLE);
    }else{
        pause.setVisibility(View.INVISIBLE);
        play.setVisibility(View.VISIBLE);
    }
}

public void pause(View view) {
    mp.pause();
    pause.setVisibility(View.INVISIBLE);
    play.setVisibility(View.VISIBLE);
}

您可以使用AudioFocus。官方文件是


但是如果你的背景音乐没有使用音频聚焦,它也不起作用。希望大多数音乐应用程序将使用AudioFocus来控制播放或暂停。

如果您想在应用程序处于后台时停止音乐。你必须通过控制它。 当应用程序退出前台时,它调用onPause()和onStop()。您应该在此处更新您的音乐播放器状态。请看以下代码:

@Override
public void onPause()
{
    super.onPause();
    if(mp.isPlaying())
        mp.stop();
    else
        return;
}

@Override
public void onStop()
{
    super.onStop();
    if(mp.isPlaying())
        mp.stop();
    else
        return;
}