pull/1296/head
gedoor 4 years ago
parent ef2b0f9cd1
commit e12850f7d3
  1. 26
      app/src/main/java/io/legado/app/service/AudioPlayService.kt

@ -146,6 +146,9 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 暂停播放
*/
private fun pause(pause: Boolean) { private fun pause(pause: Boolean) {
try { try {
AudioPlayService.pause = pause AudioPlayService.pause = pause
@ -161,6 +164,9 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 恢复播放
*/
private fun resume() { private fun resume() {
try { try {
pause = false pause = false
@ -178,11 +184,17 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 调节进度
*/
private fun adjustProgress(position: Int) { private fun adjustProgress(position: Int) {
this.position = position this.position = position
exoPlayer.seekTo(position.toLong()) exoPlayer.seekTo(position.toLong())
} }
/**
* 调节速度
*/
private fun upSpeed(adjust: Float) { private fun upSpeed(adjust: Float) {
kotlin.runCatching { kotlin.runCatching {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
@ -193,6 +205,9 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 播放状态监控
*/
override fun onPlaybackStateChanged(playbackState: Int) { override fun onPlaybackStateChanged(playbackState: Int) {
super.onPlaybackStateChanged(playbackState) super.onPlaybackStateChanged(playbackState)
when (playbackState) { when (playbackState) {
@ -226,6 +241,9 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 播放错误事件
*/
override fun onPlayerError(error: PlaybackException) { override fun onPlayerError(error: PlaybackException) {
super.onPlayerError(error) super.onPlayerError(error)
AudioPlay.status = Status.STOP AudioPlay.status = Status.STOP
@ -278,7 +296,7 @@ class AudioPlayService : BaseService(),
} }
/** /**
* 更新播放进度 * 每隔1秒发送播放进度
*/ */
private fun upPlayProgress() { private fun upPlayProgress() {
upPlayProgressJob?.cancel() upPlayProgressJob?.cancel()
@ -294,6 +312,9 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 加载播放URL
*/
private fun loadContent() = with(AudioPlay) { private fun loadContent() = with(AudioPlay) {
durChapter?.let { chapter -> durChapter?.let { chapter ->
if (addLoading(chapter.index)) { if (addLoading(chapter.index)) {
@ -347,6 +368,9 @@ class AudioPlayService : BaseService(),
} }
} }
/**
* 保存播放进度
*/
private fun saveProgress(book: Book) { private fun saveProgress(book: Book) {
execute { execute {
appDb.bookDao.upProgress(book.bookUrl, book.durChapterPos) appDb.bookDao.upProgress(book.bookUrl, book.durChapterPos)

Loading…
Cancel
Save