|
|
@ -9,7 +9,6 @@ import android.content.IntentFilter |
|
|
|
import android.graphics.BitmapFactory |
|
|
|
import android.graphics.BitmapFactory |
|
|
|
import android.media.AudioManager |
|
|
|
import android.media.AudioManager |
|
|
|
import android.os.Bundle |
|
|
|
import android.os.Bundle |
|
|
|
import android.os.PowerManager |
|
|
|
|
|
|
|
import android.support.v4.media.session.MediaSessionCompat |
|
|
|
import android.support.v4.media.session.MediaSessionCompat |
|
|
|
import android.support.v4.media.session.PlaybackStateCompat |
|
|
|
import android.support.v4.media.session.PlaybackStateCompat |
|
|
|
import androidx.annotation.CallSuper |
|
|
|
import androidx.annotation.CallSuper |
|
|
@ -29,7 +28,6 @@ import io.legado.app.ui.book.read.page.entities.TextChapter |
|
|
|
import io.legado.app.utils.* |
|
|
|
import io.legado.app.utils.* |
|
|
|
import kotlinx.coroutines.* |
|
|
|
import kotlinx.coroutines.* |
|
|
|
import splitties.systemservices.audioManager |
|
|
|
import splitties.systemservices.audioManager |
|
|
|
import splitties.systemservices.powerManager |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 朗读服务 |
|
|
|
* 朗读服务 |
|
|
@ -55,11 +53,6 @@ abstract class BaseReadAloudService : BaseService(), |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private val wakeLock by lazy { |
|
|
|
|
|
|
|
powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "legado:readAloud").apply { |
|
|
|
|
|
|
|
setReferenceCounted(false) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private val mFocusRequest: AudioFocusRequestCompat by lazy { |
|
|
|
private val mFocusRequest: AudioFocusRequestCompat by lazy { |
|
|
|
MediaHelp.buildAudioFocusRequestCompat(this) |
|
|
|
MediaHelp.buildAudioFocusRequestCompat(this) |
|
|
|
} |
|
|
|
} |
|
|
@ -85,7 +78,6 @@ abstract class BaseReadAloudService : BaseService(), |
|
|
|
@SuppressLint("WakelockTimeout") |
|
|
|
@SuppressLint("WakelockTimeout") |
|
|
|
override fun onCreate() { |
|
|
|
override fun onCreate() { |
|
|
|
super.onCreate() |
|
|
|
super.onCreate() |
|
|
|
wakeLock.acquire() |
|
|
|
|
|
|
|
isRun = true |
|
|
|
isRun = true |
|
|
|
pause = false |
|
|
|
pause = false |
|
|
|
observeLiveBus() |
|
|
|
observeLiveBus() |
|
|
@ -107,7 +99,6 @@ abstract class BaseReadAloudService : BaseService(), |
|
|
|
|
|
|
|
|
|
|
|
override fun onDestroy() { |
|
|
|
override fun onDestroy() { |
|
|
|
super.onDestroy() |
|
|
|
super.onDestroy() |
|
|
|
wakeLock.release() |
|
|
|
|
|
|
|
isRun = false |
|
|
|
isRun = false |
|
|
|
pause = true |
|
|
|
pause = true |
|
|
|
abandonFocus() |
|
|
|
abandonFocus() |
|
|
@ -176,7 +167,6 @@ abstract class BaseReadAloudService : BaseService(), |
|
|
|
postEvent(EventBus.ALOUD_STATE, Status.PAUSE) |
|
|
|
postEvent(EventBus.ALOUD_STATE, Status.PAUSE) |
|
|
|
ReadBook.uploadProgress() |
|
|
|
ReadBook.uploadProgress() |
|
|
|
doDs() |
|
|
|
doDs() |
|
|
|
wakeLock.release() |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@SuppressLint("WakelockTimeout") |
|
|
|
@SuppressLint("WakelockTimeout") |
|
|
@ -185,7 +175,6 @@ abstract class BaseReadAloudService : BaseService(), |
|
|
|
pause = false |
|
|
|
pause = false |
|
|
|
upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING) |
|
|
|
upMediaSessionPlaybackState(PlaybackStateCompat.STATE_PLAYING) |
|
|
|
postEvent(EventBus.ALOUD_STATE, Status.PLAY) |
|
|
|
postEvent(EventBus.ALOUD_STATE, Status.PLAY) |
|
|
|
wakeLock.acquire() |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
abstract fun upSpeechRate(reset: Boolean = false) |
|
|
|
abstract fun upSpeechRate(reset: Boolean = false) |
|
|
|