0
我正在处理一个应用程序,在其中填充了显示图标的gridview。每次点击图标时我都需要播放音乐。Android:MediaPlayer-如何避免音乐在重新启动应用程序时重播
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main)
final MediaPlayer fire = MediaPlayer.create(this,R.drawable.fire);
final MediaPlayer night = MediaPlayer.create(this,R.drawable.night);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
ImageView imageView = (ImageView) v;
////
if(isPlaying) {
switch (position)
{
case 0:
fire.setLooping(true);
fire.start();
fire.setVolume(0.34f, 0.34f);
imageView.setImageResource(R.drawable.fire2);
break;
case 1:
night.setLooping(true);
night.start();
night.setVolume(0.34f, 0.34f);
imageView.setImageResource(R.drawable.night2);
break;
}
}
}
});
}
当我按下后退按钮并最小化应用程序时,音乐继续播放(应该会发生)。但是当我再次打开应用程序时,它会重新启动,所有图标都会恢复到原始状态,应用程序的前一个实例的音乐会继续播放。当我再次点击播放音乐图标时,会出现一层新的音乐,使其非常烦人,并且重新启动时应用程序完全无用。
我知道我应该保存状态并在onRestart方法中恢复它。 有没有人有一个想法,我可以解决这个问题?
那么,如何保存音乐播放状态,当应用程序恢复它重新启动? – kotAPI
这就是为什么你应该使用服务,你不应该把音乐播放器放在一个活动! –