Mediaplayer不会再次启动并在后台播放

时间:2015-01-21 18:05:34

标签: media-player

我是一个非常初学的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();
            }

        }
    });

}

1 个答案:

答案 0 :(得分:1)

在onBackPressed函数中,输入

this.finish();

它应该有用。 你有两个按钮吗?一个用于重置,一个用于播放?

相关问题