微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

媒体播放器在应用的 onPause、onBackPressed 和 onResume 上的行为

如何解决媒体播放器在应用的 onPause、onBackPressed 和 onResume 上的行为

(问题:当我在 MainActivity 屏幕上选择另一个活动时,背景音乐没有恢复)

大家好!我的 MainActivity 类有一个类成员 MediaPlayer 变量,例如:

public class MainActivity extends AppCompatActivity {

    MediaPlayer mainMusic;

在 onCreate 方法中,我开始并循环播放背景音乐,例如:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mainMusic = MediaPlayer.create(MainActivity.this,R.raw.main_menu_music);
        mainMusic.start();
        mainMusic.setLooping(true);

现在,我希望能够在按下 Android 手机的菜单按钮、主页按钮或返回按钮时暂停音乐。为此,我在 MainActivity 代码的最底部使用了 onPause、onBackpressed 和 onResume 方法的覆盖方法,例如:

@Override
    public void onBackpressed() {
        super.onBackpressed();
        mainMusic.pause();
    }

@Override
    public void onPause() {
        super.onPause();
        mainMusic.pause();
    }

@Override
    public void onResume() {
        super.onResume();
        mainMusic.start();
    }

好吧,当我按下手机上的菜单按钮时,应用程序界面的视图变小,音乐停止,当我再次触摸最小化的应用程序界面时,应用程序返回到原始状态,音乐继续播放,这很棒,这就是我想要的。

当我按下手机上的主页按钮时,我回到了主屏幕,当我通过触摸应用程序图标或再次从菜单中触摸它来重新启动应用程序时,应用程序继续运行,并且背景音乐恢复如我所愿,这也很棒。

问题是当我从 MainActivity 屏幕启动另一个活动时,音乐停止。当我按下手机上的返回按钮并返回 MainActivity 屏幕时,音乐再次恢复。

我希望能够保持所有这些状态(停止音乐 onPause、onBackpressed 和恢复 onResume 方法)并在我在应用中选择另一个活动时保持音乐播放。

我假设我也需要将 MediaPlayer 实施到其他活动中,但我就是找不到。

非常感谢您光临并查看我的帖子。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。