Android媒体播放器播放和暂停不按预期工作

时间:2017-10-08 09:05:12

标签: java android

我创建了一个Android应用程序。当我按下播放时,它会播放,当我再次按下时它会暂停。但是当我按下停止然后再次按下播放时,它将不再播放。

这是我的java代码。

public class MainActivity extends Activity {
    MediaPlayer mp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mp = MediaPlayer.create(getApplicationContext(), R.raw.top);

        Button btnPlay = (Button)findViewById(R.id.button1);
        btnPlay.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                if(mp.isPlaying()){
                    mp.pause();
                }else{
                    mp.start();
                }
            }
        });
        Button btnStop = (Button)findViewById(R.id.button2);
        btnStop.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                mp.stop();
            }
        });
    }
}

1 个答案:

答案 0 :(得分:0)

查看Mediaplayer文档,尤其是其状态:

https://developer.android.com/reference/android/media/MediaPlayer.html

当你调用stop()时,你会进入Stopped状态。为了使用start(),您应该通过同步或异步调用prepare()来进入Prepared状态。