問題:初次打開app時,沒有音樂在播放,直接設置setLooping(true),用isLooping()得到的仍是flase。
解決:記錄當前操作,播放時重新設置setLooping(true)
*******
if(mode == REPEAT1)
{
if(!mPlayer.isLooping()) {
mPlayer.setLooping(true);
//打開app當前無音樂播放時,setLooping會無作用,先記錄在播放時重新setLooping
if(!mPlayer.isLooping())
{
setRepeat1 = true;
}
else {
setRepeat1 = false;
}
}
btn_order.setImageResource(R.drawable.music_repeat1);
play_mode = REPEAT1;
}
********
public void play(String path) {
mPlayer.reset();
//調用方法傳進播放地址
mPlayer.setDataSource(path);
//異步準備資源,防止卡頓
mPlayer.prepareAsync();
//調用音頻的監聽方法,音頻準備完畢後響應該方法進行音樂播放
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
if(setRepeat1)
{
mPlayer.setLooping(true);
}
}