Java 如何在Android中通过按下相同的按钮(buggy实现)来启动/停止歌曲?

Java 如何在Android中通过按下相同的按钮(buggy实现)来启动/停止歌曲?,java,android,Java,Android,我正在学习android应用程序开发,我有一个按钮,当点击时可以播放歌曲。代码如下: Button b=(Button)findViewById(R.id.button1); final MediaPlayer mp = MediaPlayer.create(this, R.raw.song); b.setOnClickListener(new View.OnClickListener() { public void onClick(View v)

我正在学习android应用程序开发,我有一个按钮,当点击时可以播放歌曲。代码如下:

Button b=(Button)findViewById(R.id.button1);
    final MediaPlayer mp = MediaPlayer.create(this, R.raw.song);
    b.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            if(!mp.isPlaying())
                mp.stop();
            else
                mp.start();
        }
    });
现在,一旦我按下按钮,媒体就会启动,如果我再次按下,媒体就会停止。但是,当我第三次按它时,它无法再次统计。我如何解决这个问题?
谢谢

您需要将
mp.stop
改为
mp.pause

条件似乎不正确,即播放尚未播放的歌曲

Button b = (Button) findViewById(R.id.button1);
    final MediaPlayer mp = MediaPlayer.create(this, R.raw.song);
    b.setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 
            if(mp.isPlaying())
                mp.stop();
            else 
                mp.start();
        } 
    });

我如何从头开始?这项工作将使用
mp.seekTo(0)mp.pause()之后