diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentPlayService.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentPlayService.kt index c0d12a9..fb9693e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentPlayService.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentPlayService.kt @@ -203,6 +203,14 @@ class AudioContentPlayService : } } + MusicAction.SEEK_BACKWARD.name -> { + seekBackward10Seconds() + } + + MusicAction.SEEK_FORWARD.name -> { + seekForward10Seconds() + } + else -> { val contentId = intent?.getLongExtra(Constants.EXTRA_AUDIO_CONTENT_ID, 0) if (contentId != null && this.contentId == contentId) { @@ -314,6 +322,23 @@ class AudioContentPlayService : } } + private fun seekForward10Seconds() { + if (this::mediaPlayer.isInitialized && mediaPlayer.isPlaying) { + val currentPosition = mediaPlayer.currentPosition + val duration = mediaPlayer.duration + val newPosition = (currentPosition + 10_000).coerceAtMost(duration) + mediaPlayer.seekTo(newPosition) + } + } + + private fun seekBackward10Seconds() { + if (this::mediaPlayer.isInitialized && mediaPlayer.isPlaying) { + val currentPosition = mediaPlayer.currentPosition + val newPosition = (currentPosition - 10_000).coerceAtLeast(0) + mediaPlayer.seekTo(newPosition) + } + } + private fun toggleIsPlaying(isPlaying: Boolean? = null) { this.isPlaying = isPlaying ?: !this.isPlaying if (this.isPlaying) { @@ -578,6 +603,6 @@ class AudioContentPlayService : } enum class MusicAction { - PLAY, PAUSE, STOP, PROGRESS, INIT, CONDITIONAL_STOP + PLAY, PAUSE, STOP, PROGRESS, INIT, CONDITIONAL_STOP, SEEK_FORWARD, SEEK_BACKWARD } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt index 13c6905..b954d57 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt @@ -719,6 +719,8 @@ class AudioContentDetailActivity : BaseActivity + + + +