在 Android 中恢复音乐

问题描述 投票:0回答:1

按主页按钮然后按最近列表中的应用程序后,音乐不会恢复。请对给定的代码进行必要的更改。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onPause() {
        super.onPause();
        mySound.release();
    }

    @Override
    protected void onResume() {
        super.onResume();
        if(mySound != null)
            mySound.start();
    }

    MediaPlayer mySound;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mySound = MediaPlayer.create(MainActivity.this,R.raw.sleep);
        mySound.start();
        mySound.setLooping(true);
    }
}
java android android-mediaplayer onresume
1个回答
1
投票

问题出在你的

Activity
onPause()
方法上,只需将其更改为即可。

@Override
protected void onPause() {
    super.onPause();
    if (mySound != null)
        mySound.pause();
}

仅当不再需要时才在

MediaPlayer
上调用release()。来自 Android docs

无效释放()

释放与此 MediaPlayer 对象关联的资源。这是 使用完后调用此方法被认为是一个好习惯 媒体播放器。

所以改用

pause()

无效暂停()

暂停播放。调用start()来恢复。

看一下

MediaPlayer
的状态图

该图表示的是有效状态,可以使用 MediaPlayer 对象。

    

© www.soinside.com 2019 - 2024. All rights reserved.