我正在尝试构建一个只有播放和停止按钮的基本音乐播放器应用程序。 这是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)
答案 0 :(得分:2)
答案 1 :(得分:1)
单击暂停按钮
时使用此选项if (mediaPlayer!= null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer= null;
}
答案 2 :(得分:0)
停止Media Player的简单方法是:
if(mediaPlayer!=null)
{
mediaPlayer.stop();
mediaPlayer.prepareAsync();
}