我是android新手,所以我在思考解决方案时遇到了问题。我要做的第一件事是将活动更改为不同的屏幕,并在活动中下载一首歌曲。然后我返回到 MainActivity,它是一个 MediaPlayer 活动。现在,如果我返回 MainActivity 并运行,我对活动生命周期有点困惑:
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
File song = new File(path, "SpaceJam.mp3");
那在我的 onCreate 中,所以基本上我问的是每次您返回活动时是否都会运行 onCreate?
其次,我有一个播放/暂停按钮:
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// check for already playing
if(mp.isPlaying()){
if(mp!=null){
mp.pause();
// Changing button image to play button
btnPlay.setImageResource(R.drawable.play_t); }
}else{
// Resume song
if(mp!=null){
mp.start();
// Changing button image to pause button
btnPlay.setImageResource(R.drawable.pause_t);
}
}
}
});
问题是,我不想使用:
mp.setDataSource(path+"/"+fileName);
mp.prepare();
mp.start();
在我的播放按钮上,因为它每次都会重新初始化歌曲。这样做的最佳方法是什么?
谢谢