当我点击暂停按钮它暂停但当我再次点击播放按钮时,它从头开始播放歌曲

时间:2015-05-30 13:49:15

标签: java android

如何从我按下暂停按钮的位置开始播放歌曲,帮助我成为android媒体新手并且我不知道媒体属性所有按钮都正常工作,但我想开始播放这首歌从那时起我停止了它 -

public class MainActivity extends Activity {
MediaPlayer mediaPlayer;
Button play, stop,pause;
Uri path;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    play = (Button) findViewById(R.id.play);
    stop = (Button) findViewById(R.id.stop);
    pause = (Button) findViewById(R.id.pause);

    play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            path = Uri.parse("android.resource://" + getPackageName() + "/"+ R.raw.chelseafc);
            mediaPlayer = MediaPlayer.create(MainActivity.this,path);
            mediaPlayer.start();
        }
    });



    stop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.stop();
                mediaPlayer.release();

            }
        }
    });

    pause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.pause();

            }
        }
    });


}


@Override
protected void onDestroy() {
    if(mediaPlayer!=null && mediaPlayer.isPlaying()){
        mediaPlayer.stop();
        mediaPlayer.release();
        mediaPlayer= null;
    }
    super.onDestroy();
}

}

3 个答案:

答案 0 :(得分:0)

使用以下代码 -

MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.song);

mediaPlayer.start();
mediaPlayer.pause();

mediaPlayer.reset();

我认为它会对你有所帮助。

答案 1 :(得分:0)

您有一个开始按钮,暂停按钮和停止按钮。没有“恢复”按钮。此外,当您在按暂停后单击“开始”时,介质会再次加载并从头开始(长度= 0)。您必须将其设置为暂停位置并恢复它:

定义全局变量:

 int length = 0;

暂停听众:

length=mediaPlayer.getCurrentPosition();

在简历中(创建一个简历监听器):

        mediaplayer.seekTo(length);
        mediaPlayer.start();

<强>更新

理想情况下,暂停和恢复按钮是相同的,除非您在播放和暂停png之间切换开关以更改图像资源,并在布尔变量的帮助下执行相关代码:

在暂停按钮监听器中:

 if(play)
    {
      //paused
      play =false;
      pause.setImageResource(R.id.pause);
      length=mediaPlayer.getCurrentPosition(); 
      mediaPlayer.pause();
    }else { 
      //resumed
      play = true;
      pause.setImageResource(R.id.resume);
       mediaplayer.seekTo(length);
            mediaPlayer.start();
    }

在必要时更正我在编辑器中键入而不是在IDE中。

答案 2 :(得分:-1)

mediaPlayer.pause()//使用此  不是mediaPlayer.stop();

相关问题