Skip to content

Commit 46d36c5

Browse files
committed
feat(player): Remember last volume when muting
1 parent c5374f6 commit 46d36c5

File tree

1 file changed

+9
-2
lines changed
  • composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/ui/screen

1 file changed

+9
-2
lines changed

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/ui/screen/PlayerScreen.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,9 @@ fun PlayerOverlay(
825825
onRequestDeleteSubtitle = { subtitle ->
826826
subtitleToDelete = subtitle
827827
showDeleteSubtitleDialog = true
828-
}
828+
},
829+
lastVolume = lastVolume,
830+
onLastVolumeChange = { lastVolume = it }
829831
)
830832
}
831833
}
@@ -966,7 +968,9 @@ fun PlayerControlRow(
966968
onOpenAddLocalSubtitle: (() -> Unit)? = null,
967969
onSubtitleControlHoverChanged: ((Boolean) -> Unit)? = null,
968970
onSettingsMenuHoverChanged: ((Boolean) -> Unit)? = null,
969-
onRequestDeleteSubtitle: ((SubtitleStream) -> Unit)? = null
971+
onRequestDeleteSubtitle: ((SubtitleStream) -> Unit)? = null,
972+
lastVolume: Float = 0f,
973+
onLastVolumeChange: (Float) -> Unit = {}
970974
) {
971975
val interactionSource = remember { MutableInteractionSource() }
972976
Row(
@@ -1102,6 +1106,7 @@ fun PlayerControlRow(
11021106
onVolumeChange = {
11031107
audioLevelController?.setVolume(it)
11041108
PlayingSettingsStore.saveVolume(it)
1109+
onLastVolumeChange(0f)
11051110
},
11061111
onHoverStateChanged = onVolumeControlHoverChanged,
11071112
modifier = Modifier.size(40.dp)
@@ -1459,6 +1464,7 @@ private fun handlePlayerKeyEvent(
14591464
it.setVolume(newVolume)
14601465
toastManager.showToast("当前音量:${(newVolume * 100).toInt()}%", ToastType.Info, category = "volume")
14611466
PlayingSettingsStore.saveVolume(newVolume)
1467+
onLastVolumeChange(0f)
14621468
}
14631469
}
14641470
Key.DirectionDown -> {
@@ -1467,6 +1473,7 @@ private fun handlePlayerKeyEvent(
14671473
it.setVolume(newVolume)
14681474
toastManager.showToast("当前音量:${(newVolume * 100).toInt()}%", ToastType.Info, category = "volume")
14691475
PlayingSettingsStore.saveVolume(newVolume)
1476+
onLastVolumeChange(0f)
14701477
}
14711478
}
14721479
Key.Spacebar -> {

0 commit comments

Comments
 (0)