如果我“中断”它,为什么我的MediaPlayer会停止工作?

时间:2014-12-18 01:38:35

标签: android android-mediaplayer

我希望我的按钮是“垃圾邮件”。这意味着如果我反复点击按钮,MediaPlayer将重新开始。

firstButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (firstTextView.getText().equals("Hello world!")) {

                firstTextView.setText("You clicked!");


            } else {

                firstTextView.setText("Hello world!");

            }

            if (mediaPlayer.isPlaying()) {

                mediaPlayer.stop();

            }

            mediaPlayer.start();

        }
    });

当我在播放时中断MediaPlayer时,它会停止并且永远不会再次启动。为什么呢?

编辑:问题是我调用了stop()。感谢您指出了这一点。

2 个答案:

答案 0 :(得分:2)

根据documentation,您需要重新准备MediaPlayer(强调我的):

  

一旦处于停止状态,播放无法启动,直到   调用prepare()prepareAsync() 来设置MediaPlayer对象   再次进入准备状态。

答案 1 :(得分:1)

似乎您正在停止播放器,因为您正在呼叫mediaPlayer.stop()这会使MediaPlayer状态进入Stopped状态。当您拨打prepare()prepareAsync()时,它会继续播放,并且会启动其准备回调以启动播放媒体。