From 076d3634fbd1f1deeeb5be3b09ef14dccf87612f Mon Sep 17 00:00:00 2001 From: lizixian <386707112@qq.com> Date: Wed, 18 Jul 2018 14:54:57 +0800 Subject: [PATCH] https://github.com/lizixian18/MusicLibrary/issues/44 https://github.com/lizixian18/MusicLibrary/issues/42 --- .../src/main/java/com/lzx/musiclibrary/MusicService.java | 8 ++++---- .../com/lzx/musiclibrary/playback/PlaybackManager.java | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/musiclibrary/src/main/java/com/lzx/musiclibrary/MusicService.java b/musiclibrary/src/main/java/com/lzx/musiclibrary/MusicService.java index 665b5e09..9e20c582 100644 --- a/musiclibrary/src/main/java/com/lzx/musiclibrary/MusicService.java +++ b/musiclibrary/src/main/java/com/lzx/musiclibrary/MusicService.java @@ -7,9 +7,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.Message; -import android.os.RemoteException; import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; import com.lzx.musiclibrary.cache.CacheConfig; import com.lzx.musiclibrary.control.PlayControl; @@ -78,8 +76,10 @@ public void onTaskRemoved(Intent rootIntent) { @Override public void onDestroy() { super.onDestroy(); - mBinder.stopMusic(); - mBinder.releaseMediaSession(); + if (mBinder != null) { + mBinder.stopMusic(); + mBinder.releaseMediaSession(); + } } private static class DelayedStopHandler extends Handler { diff --git a/musiclibrary/src/main/java/com/lzx/musiclibrary/playback/PlaybackManager.java b/musiclibrary/src/main/java/com/lzx/musiclibrary/playback/PlaybackManager.java index f0966c3b..40aa0aae 100644 --- a/musiclibrary/src/main/java/com/lzx/musiclibrary/playback/PlaybackManager.java +++ b/musiclibrary/src/main/java/com/lzx/musiclibrary/playback/PlaybackManager.java @@ -58,15 +58,13 @@ public MediaSessionCompat.Callback getMediaSessionCallback() { */ public void handlePlayRequest() { SongInfo currentMusic = mQueueManager.getCurrentMusic(); - if (currentMusic != null) { - + if (currentMusic != null && mPlayback.getState() != State.STATE_ASYNC_LOADING) { String mediaId = currentMusic.getSongId(); boolean mediaHasChanged = !TextUtils.equals(mediaId, mCurrentMediaId); if (mediaHasChanged) { mCurrentMediaId = mediaId; notifyPlaybackSwitch(currentMusic); } - //播放 mPlayback.play(currentMusic); //更新媒体信息