Android 音乐播放器-活动生命周期
我的应用程序中的背景音乐真的很难处理。我只想在所有活动中播放音乐-当我按下home(主页)按钮时,我想停止音乐。我想在所有活动中使用“停止或播放”音乐按钮,但无法使其正常工作 所以我决定做出令人尴尬的选择——只在1个活动中玩它 一次创建Android 音乐播放器-活动生命周期,android,audio-player,activity-lifecycle,android-music-player,Android,Audio Player,Activity Lifecycle,Android Music Player,我的应用程序中的背景音乐真的很难处理。我只想在所有活动中播放音乐-当我按下home(主页)按钮时,我想停止音乐。我想在所有活动中使用“停止或播放”音乐按钮,但无法使其正常工作 所以我决定做出令人尴尬的选择——只在1个活动中玩它 一次创建 backgroundmusic = MediaPlayer.create(StoryActivity.this, R.raw.creepy_music); backgroundmusic.start(); 暂停 @Override
backgroundmusic = MediaPlayer.create(StoryActivity.this, R.raw.creepy_music);
backgroundmusic.start();
暂停
@Override
protected void onPause() {
super.onPause();
backgroundmusic.release();
finish();
}
您能帮助我轻松完成活动生命周期吗?因此,当用户按下home(主页)按钮时,音乐就会停止。当他返回应用程序时-音乐将被恢复,此活动也将(它不是主活动)
谢谢大家
以下是不同的生命周期状态。现在回答你的问题
@Override
protected void onStop() {
super.onStop();
backgroundmusic.pause();
length = backgroundmusic.getCurrentPosition();
}
@Override
protected void onResume() {
super.onResume();
backgroundmusic.seekTo(length);
backgroundmusic.start();
}
在
公共类MainActivity扩展了AppCompatActivity
中,AppCompatActivity是活动功能的主要来源,因此在上述方法中,如super.onResume()代码>和super.onStop()
super指的是AppCompatActivity类
假设您可以在应用程序中获得音乐服务,您可能正在查找:
public class MyApp extends Application{
MusicService musicService;
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
if(musicService==null) return;
if(!musicService.isPlaying()){
musicService.play();
}
}
@Override
public void onActivityPaused(Activity activity) {
if(musicService==null) return;
if(musicService.isPlaying()){
musicService.pause();
}
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
}
希望这有助于您可以从服务中播放音乐并从活动中管理流。关于这一点,这里有一个很好的教程:在这种情况下,音乐不会只附在一个活动上,你可以在任何地方管理@hrefааббббббббббббббббббббб。。。我希望这会有所帮助