mediaPlayer 를 사용하는 곳은 항상 초기화 되어 있는지 확인 하고 로직이 실행되도록 수정
This commit is contained in:
parent
a4cdbebeb4
commit
f7299cc0df
|
@ -146,7 +146,7 @@ class AudioContentPlayService :
|
|||
}
|
||||
|
||||
MusicAction.PLAY.name -> {
|
||||
if (!isPlaying) {
|
||||
if (!isPlaying && this::mediaPlayer.isInitialized) {
|
||||
mediaPlayer.start()
|
||||
toggleIsPlaying()
|
||||
updateNotification()
|
||||
|
@ -154,7 +154,7 @@ class AudioContentPlayService :
|
|||
}
|
||||
|
||||
MusicAction.PAUSE.name -> {
|
||||
if (isPlaying) {
|
||||
if (isPlaying && this::mediaPlayer.isInitialized) {
|
||||
mediaPlayer.pause()
|
||||
toggleIsPlaying()
|
||||
updateNotification()
|
||||
|
@ -186,11 +186,14 @@ class AudioContentPlayService :
|
|||
|
||||
MusicAction.PROGRESS.name -> {
|
||||
val progress = intent.getIntExtra(Constants.EXTRA_AUDIO_CONTENT_PROGRESS, 0)
|
||||
if (progress > 0) {
|
||||
if (contentId != null) saveNewPlaybackTracking(
|
||||
totalDuration = mediaPlayer.duration,
|
||||
progress = progress
|
||||
)
|
||||
if (progress > 0 && this::mediaPlayer.isInitialized) {
|
||||
if (contentId != null) {
|
||||
saveNewPlaybackTracking(
|
||||
totalDuration = mediaPlayer.duration,
|
||||
progress = progress
|
||||
)
|
||||
}
|
||||
|
||||
mediaPlayer.seekTo(progress)
|
||||
}
|
||||
}
|
||||
|
@ -258,7 +261,7 @@ class AudioContentPlayService :
|
|||
}
|
||||
)
|
||||
|
||||
if (isPlaying) {
|
||||
if (isPlaying && this::mediaPlayer.isInitialized) {
|
||||
mediaPlayer.stop()
|
||||
setEndPositionPlaybackTracking(mediaPlayer.currentPosition)
|
||||
|
||||
|
@ -290,12 +293,12 @@ class AudioContentPlayService :
|
|||
return null
|
||||
}
|
||||
|
||||
override fun onCompletion(mp: MediaPlayer?) {
|
||||
setEndPositionPlaybackTracking(mediaPlayer.currentPosition)
|
||||
override fun onCompletion(mp: MediaPlayer) {
|
||||
setEndPositionPlaybackTracking(mp.currentPosition)
|
||||
|
||||
if (SharedPreferenceManager.isContentPlayLoop) {
|
||||
saveNewPlaybackTracking(totalDuration = mediaPlayer.duration, progress = 0)
|
||||
mediaPlayer.start()
|
||||
saveNewPlaybackTracking(totalDuration = mp.duration, progress = 0)
|
||||
mp.start()
|
||||
} else {
|
||||
toggleIsPlaying(false)
|
||||
mediaPlayer.release()
|
||||
|
@ -370,61 +373,63 @@ class AudioContentPlayService :
|
|||
}
|
||||
|
||||
override fun onPrepared(mp: MediaPlayer?) {
|
||||
saveNewPlaybackTracking(totalDuration = mediaPlayer.duration, progress = 0)
|
||||
sendBroadcast(
|
||||
Intent(Constants.ACTION_AUDIO_CONTENT_RECEIVER)
|
||||
.apply {
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_NEXT_ACTION,
|
||||
MusicAction.PLAY
|
||||
)
|
||||
if (this::mediaPlayer.isInitialized) {
|
||||
saveNewPlaybackTracking(totalDuration = mediaPlayer.duration, progress = 0)
|
||||
sendBroadcast(
|
||||
Intent(Constants.ACTION_AUDIO_CONTENT_RECEIVER)
|
||||
.apply {
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_NEXT_ACTION,
|
||||
MusicAction.PLAY
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_DURATION,
|
||||
mediaPlayer.duration
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_DURATION,
|
||||
mediaPlayer.duration
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_ID,
|
||||
contentId
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_ID,
|
||||
contentId
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_ALERT_PREVIEW,
|
||||
true
|
||||
)
|
||||
}
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_ALERT_PREVIEW,
|
||||
true
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
sendBroadcast(
|
||||
Intent(Constants.ACTION_MAIN_AUDIO_CONTENT_RECEIVER)
|
||||
.apply {
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_PLAYING,
|
||||
false
|
||||
)
|
||||
sendBroadcast(
|
||||
Intent(Constants.ACTION_MAIN_AUDIO_CONTENT_RECEIVER)
|
||||
.apply {
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_PLAYING,
|
||||
false
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_SHOWING,
|
||||
true
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_SHOWING,
|
||||
true
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_TITLE,
|
||||
title
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_TITLE,
|
||||
title
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_NICKNAME,
|
||||
nickname
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_NICKNAME,
|
||||
nickname
|
||||
)
|
||||
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_COVER_IMAGE_URL,
|
||||
coverImageUrl
|
||||
)
|
||||
}
|
||||
)
|
||||
putExtra(
|
||||
Constants.EXTRA_AUDIO_CONTENT_COVER_IMAGE_URL,
|
||||
coverImageUrl
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateNotification() {
|
||||
|
|
Loading…
Reference in New Issue