在暂停的Android活动中,MediaPlayer会继续播放吗?

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

在一个Android活动中,我正在使用以下解决方案来创建一个无循环的MediaPlayer。

MediaPlayer mp1 = MediaPlayer.create(mContext, mResId);
MediaPlayer mp2 = MediaPlayer.create(mContext, mResId);

mp1.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                mp1 = MediaPlayer.create(mContext, mResId);
                mp1.setOnCompletionListener(this);
                mp2.setNextMediaPlayer(mp1);

            }
        });

mp2.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                mp2 = MediaPlayer.create(mContext, mResId);
                mp2.setOnCompletionListener(this);
                mp1.setNextMediaPlayer(mp2);
            }
        });

mp1.setNextMediaPlayer(mp2);
mp1.start();

如果用户正在使用另一个应用程序或锁定屏幕,应用程序是否应该无限期地保持声音播放?是建议使用前台服务,还是不断创建新的MediaPlayers的行为足以让应用保持活力并播放声音?

android android-mediaplayer
1个回答
0
投票

如果你想在用户移动到其他应用程序或锁定屏幕时播放音乐,请使用前台服务,并确保在服务处于前台时向用户显示通知。

不建议使用不同的MediaPlayer对象来循环播放音乐,我建议你使用ExoPlayer来实现上述功能。

你可以使用下面的代码来循环播放音乐。

exoPlayer!!.repeatMode = Player.REPEAT_MODE_ONE

观看本教程 。用ExoPlayer构建功能丰富的媒体应用(Google IO '18) 由谷歌的Android开发者团队提供。

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