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
+
+
+
+