我是一个非常初学的android / java,我创建了一个代码,当用户按下按钮,它启动一首歌,一切都很好,但我有2个问题:
1-当歌曲结束时,当我再次按下按钮时它不再播放,我需要杀死app。
2-当歌曲正在播放时,我按下主页/后退,这首歌仍然在后台播放。
这是代码----
Button play;
MediaPlayer musica;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.button_play);
final MediaPlayer musica = new MediaPlayer();
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (musica.isPlaying()) {
musica.stop();
musica.reset();
}
try {
AssetFileDescriptor afd;
afd = getAssets().openFd("cdztriste.mp3");
musica.setDataSource(afd.getFileDescriptor(),
afd.getStartOffset(), afd.getLength());
musica.prepare();
musica.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
答案 0 :(得分:1)
在onBackPressed函数中,输入
this.finish();
它应该有用。 你有两个按钮吗?一个用于重置,一个用于播放?