我的设置活动中有一个mediaplayer,当切换按钮打开时播放一首歌曲。它工作正常,当活动改变时,音乐继续播放,这是我想要的。问题是,当我再次回到设置活动时,切换按钮被设置为关闭,并且一旦点击它就启动与当前播放器一起播放的新媒体播放器。无论如何要记住原始媒体播放器已打开?在活动之间保存mediaplayer状态
public class Settings extends AppCompatActivity {
public MediaPlayer mp = null;
private SeekBar volumeSeekbar = null;
private AudioManager audioManager = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
initControls();
Button b = (Button) findViewById(R.id.toggleButton);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Spinner spinner = (Spinner) findViewById(R.id.spinner);
String text = spinner.getSelectedItem().toString();
if (mp == null) {
int song = getResources().getIdentifier(text, "raw", "com.example.dan14.memorygame");
mp = MediaPlayer.create(Settings.this, song);
mp.start();
} else {
mp.stop();
mp = null;
}
}
});
}
谢谢!这有效,但我只需要保存按钮的状态,现在让我们在重新启动第二个活动时反转。例如,我点击播放,然后改变音乐保持在哪个活动状态,但是一旦我回到设置活动中,该按钮被设置为关闭,但是一旦点击了它,它就会启动但停止音乐! – Haldamir
@Haldamir在按钮b =(按钮)之后findViewById(R.id.toggleButton);',根据'mp == null'改变你的按钮状态。 – lin
谢谢!我只是使用onPause和onResume设置按钮状态:) – Haldamir