diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt
index 013008a42..2c0adfd48 100644
--- a/app/src/main/java/io/legado/app/constant/PreferKey.kt
+++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt
@@ -148,6 +148,7 @@ object PreferKey {
const val updateToVariant = "updateToVariant"
const val streamReadAloudAudio = "streamReadAloudAudio"
const val pauseReadAloudWhilePhoneCalls = "pauseReadAloudWhilePhoneCalls"
+ const val readAloudByMediaButton = "readAloudByMediaButton"
const val cPrimary = "colorPrimary"
const val cAccent = "colorAccent"
diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt
index bfaa26205..e1f244ea6 100644
--- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt
+++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt
@@ -453,6 +453,9 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
val mediaButtonOnExit get() = appCtx.getPrefBoolean("mediaButtonOnExit", true)
+ val readAloudByMediaButton
+ get() = appCtx.getPrefBoolean(PreferKey.readAloudByMediaButton, false)
+
val replaceEnableDefault get() = appCtx.getPrefBoolean(PreferKey.replaceEnableDefault, true)
val webDavDir get() = appCtx.getPrefString(PreferKey.webDavDir, "legado")
diff --git a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt
index 0ceaa74cc..d7548a19a 100644
--- a/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt
+++ b/app/src/main/java/io/legado/app/receiver/MediaButtonReceiver.kt
@@ -63,10 +63,6 @@ class MediaButtonReceiver : BroadcastReceiver() {
}
}
- KeyEvent.KEYCODE_MEDIA_PAUSE -> {
- pauseReadAloud(context)
- }
-
else -> readAloud(context)
}
}
@@ -74,11 +70,6 @@ class MediaButtonReceiver : BroadcastReceiver() {
return true
}
- private fun pauseReadAloud(context: Context) {
- ReadAloud.pause(context)
- AudioPlay.pause(context)
- }
-
fun readAloud(context: Context, isMediaKey: Boolean = true) {
when {
BaseReadAloudService.isRun -> {
@@ -99,6 +90,10 @@ class MediaButtonReceiver : BroadcastReceiver() {
}
}
+ isMediaKey && !AppConfig.readAloudByMediaButton -> {
+ // break
+ }
+
LifecycleHelp.isExistActivity(ReadBookActivity::class.java) ->
postEvent(EventBus.MEDIA_BUTTON, true)
diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml
index 047a7afb3..ee5970b2f 100644
--- a/app/src/main/res/values-es-rES/strings.xml
+++ b/app/src/main/res/values-es-rES/strings.xml
@@ -1164,4 +1164,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index d93a197dd..d373e0c51 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -1167,4 +1167,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index b749ccdf4..c4baf3d08 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -1167,4 +1167,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index a2eb05238..f52b4898c 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -1163,4 +1163,6 @@ Còn
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 05b7583ea..e9e10d768 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -1164,4 +1164,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 27971b846..72d29400b 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -1166,4 +1166,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index fd13a510f..68c42f6ac 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -1166,4 +1166,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 233aeb80b..783d0f3e6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1167,4 +1167,6 @@
来电期间暂停朗读
在通话期间暂停朗读,需要读取手机状态权限
阅读需要读取手机状态实现来电期间暂停朗读功能
+ 耳机按键启动朗读
+ 通过耳机按键来启动朗读
diff --git a/app/src/main/res/xml/pref_config_other.xml b/app/src/main/res/xml/pref_config_other.xml
index 94cedff3f..400494ab1 100644
--- a/app/src/main/res/xml/pref_config_other.xml
+++ b/app/src/main/res/xml/pref_config_other.xml
@@ -128,6 +128,13 @@
android:title="@string/media_button_on_exit_title"
app:iconSpaceReserved="false" />
+
+