File tree Expand file tree Collapse file tree 4 files changed +44
-14
lines changed
tv/src/main/java/top/yogiczy/mytv/tv/ui Expand file tree Collapse file tree 4 files changed +44
-14
lines changed Original file line number Diff line number Diff line change @@ -336,6 +336,14 @@ class SettingsViewModel : ViewModel() {
336336 Configs .videoPlayerRenderMode = value
337337 }
338338
339+ private var _videoPlayerStopPreviousMediaItem by mutableStateOf(false )
340+ var videoPlayerStopPreviousMediaItem: Boolean
341+ get() = _videoPlayerStopPreviousMediaItem
342+ set(value) {
343+ _videoPlayerStopPreviousMediaItem = value
344+ Configs .videoPlayerStopPreviousMediaItem = value
345+ }
346+
339347 init {
340348 // 删除过期的预约
341349 _epgChannelReserveList = EpgProgrammeReserveList (
Original file line number Diff line number Diff line change @@ -40,6 +40,31 @@ fun SettingsCategoryVideoPlayer(
4040 )
4141 }
4242
43+ item {
44+ SettingsListItem (
45+ headlineContent = " 强制音频软解" ,
46+ trailingContent = {
47+ Switch (settingsViewModel.videoPlayerForceAudioSoftDecode, null )
48+ },
49+ onSelected = {
50+ settingsViewModel.videoPlayerForceAudioSoftDecode =
51+ ! settingsViewModel.videoPlayerForceAudioSoftDecode
52+ },
53+ )
54+ }
55+
56+ item {
57+ SettingsListItem (
58+ headlineContent = " 停止上一媒体项" ,
59+ trailingContent = {
60+ Switch (settingsViewModel.videoPlayerStopPreviousMediaItem, null )
61+ },
62+ onSelected = {
63+ settingsViewModel.videoPlayerStopPreviousMediaItem =
64+ ! settingsViewModel.videoPlayerStopPreviousMediaItem
65+ },
66+ )
67+ }
4368
4469 item {
4570 val popupManager = LocalPopupManager .current
@@ -99,19 +124,6 @@ fun SettingsCategoryVideoPlayer(
99124 )
100125 }
101126
102- item {
103- SettingsListItem (
104- headlineContent = " 强制音频软解" ,
105- trailingContent = {
106- Switch (settingsViewModel.videoPlayerForceAudioSoftDecode, null )
107- },
108- onSelected = {
109- settingsViewModel.videoPlayerForceAudioSoftDecode =
110- ! settingsViewModel.videoPlayerForceAudioSoftDecode
111- },
112- )
113- }
114-
115127 item {
116128 SettingsListItem (
117129 headlineContent = " 播放器自定义UA" ,
Original file line number Diff line number Diff line change @@ -291,7 +291,9 @@ class Media3VideoPlayer(
291291 }
292292
293293 override fun prepare (url : String ) {
294- videoPlayer.stop()
294+ if (Configs .videoPlayerStopPreviousMediaItem)
295+ videoPlayer.stop()
296+
295297 contentTypeAttempts.clear()
296298 prepare(Uri .parse(url.let {
297299 if (url.endsWith(" ?" )) " ${it} t" else it
Original file line number Diff line number Diff line change @@ -142,6 +142,9 @@ object Configs {
142142
143143 /* * 播放器 渲染方式 */
144144 VIDEO_PLAYER_RENDER_MODE ,
145+
146+ /* * 播放器 停止上一媒体项 */
147+ VIDEO_PLAYER_STOP_PREVIOUS_MEDIA_ITEM ,
145148 }
146149
147150 /* * ==================== 应用 ==================== */
@@ -372,6 +375,11 @@ object Configs {
372375 )
373376 set(value) = SP .putInt(KEY .VIDEO_PLAYER_RENDER_MODE .name, value.value)
374377
378+ /* * 播放器 停止上一媒体项 */
379+ var videoPlayerStopPreviousMediaItem: Boolean
380+ get() = SP .getBoolean(KEY .VIDEO_PLAYER_STOP_PREVIOUS_MEDIA_ITEM .name, false )
381+ set(value) = SP .putBoolean(KEY .VIDEO_PLAYER_STOP_PREVIOUS_MEDIA_ITEM .name, value)
382+
375383 enum class UiTimeShowMode (val value : Int ) {
376384 /* * 隐藏 */
377385 HIDDEN (0 ),
You can’t perform that action at this time.
0 commit comments