E / MediaPlayer:在状态64,mPlayer(0x9a024be0)中调用

时间:2017-05-31 10:45:14

标签: android media-player android-mediaplayer

我正在尝试构建一个只有播放和停止按钮的基本音乐播放器应用程序。 这是java代码

**package com.example.android.musicplayer;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button play =(Button)findViewById(R.id.play);
        Button pause = (Button)findViewById(R.id.stop);
        final MediaPlayer mediaPlayer = MediaPlayer.create(this,R.raw.song_1);
        play.setOnClickListener(new View.OnClickListener()
        {
           @Override
            public void onClick(View view)
           {
               mediaPlayer.start();
           }
        });
        pause.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view)
            {
                mediaPlayer.stop();
            }
        });
    }
}**

当我第一次点击播放和停止按钮时,它可以工作,但之后没有任何反应。 当我试图在停止播放后再次播放音乐时,这就是Android显示器上的样子。

05-31 16:05:35.320 31018-31018/com.example.android.musicplayer E/MediaPlayer: start called in state 64, mPlayer(0x9a024be0)

05-31 16:05:35.320 31018-31018/com.example.android.musicplayer E/MediaPlayer: error (-38, 0)
05-31 16:05:35.327 31018-31018/com.example.android.musicplayer E/MediaPlayer: Error (-38,0)

3 个答案:

答案 0 :(得分:2)

快速了解媒体播放器状态

enter image description here

答案 1 :(得分:1)

单击暂停按钮

时使用此选项
if (mediaPlayer!= null) {
    mediaPlayer.stop();
    mediaPlayer.release();
    mediaPlayer= null;
}

答案 2 :(得分:0)

停止Media Player的简单方法是:

if(mediaPlayer!=null) { mediaPlayer.stop(); mediaPlayer.prepareAsync(); }

Stop Button Code