我为“播放”和“暂停”按钮创建了两个 onClick 方法,但如果先点击“暂停”,然后点击“播放”按钮,则音乐不会播放。下面是代码
package com.example.myaudio;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class MainActivity extends AppCompatActivity {
MediaPlayer mediaPlayer;
public void playAudio(View view)
{
mediaPlayer.start();
}
public void pauseAudio(View view)
{
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(this,R.raw.mymusic);
}
}
最佳答案
如the MediaPlayer
documentation也就是说,调用 pause
的唯一有效状态是 Started、Paused 和 PlaybackCompleted。
在其他状态下调用pause
会将MediaPlayer
实例置于错误状态,并尝试启动
MediaPlayer
当处于 Error 状态时将无法工作。
底线:不要调用 MediaPlayer
上的方法,除非播放器处于可以调用该方法的状态(如文档所述)。
关于java - 如果在 mediaplayer.start() 之前调用 mediaplayer.pasue() ,则不会播放音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60643562/