Merge pull request #2299 from 821938089/little-fix

添加忽略音频焦点设置
pull/2300/head
kunfei 2 years ago committed by GitHub
commit 5baafb2d79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      app/src/main/java/io/legado/app/constant/PreferKey.kt
  2. 2
      app/src/main/java/io/legado/app/help/config/AppConfig.kt
  3. 8
      app/src/main/java/io/legado/app/service/AudioPlayService.kt
  4. 8
      app/src/main/java/io/legado/app/service/BaseReadAloudService.kt
  5. 2
      app/src/main/res/values-es-rES/strings.xml
  6. 2
      app/src/main/res/values-ja-rJP/strings.xml
  7. 2
      app/src/main/res/values-pt-rBR/strings.xml
  8. 2
      app/src/main/res/values-zh-rHK/strings.xml
  9. 2
      app/src/main/res/values-zh-rTW/strings.xml
  10. 2
      app/src/main/res/values-zh/strings.xml
  11. 2
      app/src/main/res/values/strings.xml
  12. 6
      app/src/main/res/xml/pref_config_other.xml

@ -112,6 +112,7 @@ object PreferKey {
const val pageTouchSlop = "pageTouchSlop"
const val showAddToShelfAlert = "showAddToShelfAlert"
const val asyncLoadImage = "asyncLoadImage"
const val ignoreAudioFocus = "ignoreAudioFocus"
const val cPrimary = "colorPrimary"
const val cAccent = "colorAccent"

@ -322,6 +322,8 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
val asyncLoadImage get() = appCtx.getPrefBoolean(PreferKey.asyncLoadImage, false)
val ignoreAudioFocus get() = appCtx.getPrefBoolean(PreferKey.ignoreAudioFocus, false)
val doublePageHorizontal: String?
get() = appCtx.getPrefString(PreferKey.doublePageHorizontal)

@ -24,6 +24,7 @@ import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter
import io.legado.app.help.MediaHelp
import io.legado.app.help.config.AppConfig
import io.legado.app.help.exoplayer.ExoPlayerHelper
import io.legado.app.help.glide.ImageLoader
import io.legado.app.model.AudioPlay
@ -442,6 +443,10 @@ class AudioPlayService : BaseService(),
* 音频焦点变化
*/
override fun onAudioFocusChange(focusChange: Int) {
if (AppConfig.ignoreAudioFocus) {
AppLog.put("忽略音频焦点处理(有声)")
return
}
when (focusChange) {
AudioManager.AUDIOFOCUS_GAIN -> {
// 重新获得焦点, 可做恢复播放,恢复后台音量的操作
@ -541,6 +546,9 @@ class AudioPlayService : BaseService(),
* @return 音频焦点
*/
private fun requestFocus(): Boolean {
if (AppConfig.ignoreAudioFocus) {
return true
}
return MediaHelp.requestFocus(audioManager, mFocusRequest)
}

@ -17,6 +17,7 @@ import io.legado.app.R
import io.legado.app.base.BaseService
import io.legado.app.constant.*
import io.legado.app.help.MediaHelp
import io.legado.app.help.config.AppConfig
import io.legado.app.help.glide.ImageLoader
import io.legado.app.model.ReadAloud
import io.legado.app.model.ReadBook
@ -230,6 +231,9 @@ abstract class BaseReadAloudService : BaseService(),
* @return 音频焦点
*/
fun requestFocus(): Boolean {
if (AppConfig.ignoreAudioFocus) {
return true
}
val requestFocus = MediaHelp.requestFocus(audioManager, mFocusRequest)
if (!requestFocus) {
toastOnUi("未获取到音频焦点")
@ -277,6 +281,10 @@ abstract class BaseReadAloudService : BaseService(),
* 音频焦点变化
*/
override fun onAudioFocusChange(focusChange: Int) {
if (AppConfig.ignoreAudioFocus) {
AppLog.put("忽略音频焦点处理(TTS)")
return
}
when (focusChange) {
AudioManager.AUDIOFOCUS_GAIN -> {
if (needResumeOnAudioFocusGain) {

@ -1029,4 +1029,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -1032,4 +1032,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -1032,4 +1032,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -1029,4 +1029,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -1031,4 +1031,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -1031,4 +1031,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -1032,4 +1032,6 @@
<string name="like_source"></string>
<string name="not_like_source"></string>
<string name="async_load_image">异步加载图片</string>
<string name="ignore_audio_focus_title">忽略音频焦点</string>
<string name="ignore_audio_focus_summary">允许与其他应用同时播放音频</string>
</resources>

@ -118,6 +118,12 @@
android:summary="@string/show_add_to_shelf_alert_summary"
android:title="@string/show_add_to_shelf_alert_title" />
<io.legado.app.lib.prefs.SwitchPreference
android:defaultValue="false"
android:key="ignoreAudioFocus"
android:summary="@string/ignore_audio_focus_summary"
android:title="@string/ignore_audio_focus_title" />
<io.legado.app.lib.prefs.Preference
android:key="webPort"
android:title="@string/web_port_title"

Loading…
Cancel
Save