Skip to content

Commit 8eae9a0

Browse files
committed
完善播放器
- 重构播放器菜单 - 倍数播放 - 长按快进 - 左右边缘屏蔽手势
1 parent d8c3d9d commit 8eae9a0

File tree

11 files changed

+694
-539
lines changed

11 files changed

+694
-539
lines changed

app/mobile/src/main/kotlin/dev/aaa1115910/bv/mobile/screen/VideoPlayerScreen.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ import dev.aaa1115910.bv.mobile.component.reply.CommentItem
8888
import dev.aaa1115910.bv.mobile.component.reply.ReplySheetScaffold
8989
import dev.aaa1115910.bv.mobile.component.videocard.RelatedVideoItem
9090
import dev.aaa1115910.bv.mobile.theme.BVMobileTheme
91-
import dev.aaa1115910.bv.viewmodel.CommentViewModel
9291
import dev.aaa1115910.bv.player.entity.LocalVideoPlayerConfigData
9392
import dev.aaa1115910.bv.player.entity.LocalVideoPlayerDanmakuMasksData
9493
import dev.aaa1115910.bv.player.entity.LocalVideoPlayerHistoryData
@@ -116,6 +115,7 @@ import dev.aaa1115910.bv.util.fInfo
116115
import dev.aaa1115910.bv.util.formatPubTimeString
117116
import dev.aaa1115910.bv.util.ifElse
118117
import dev.aaa1115910.bv.util.swapList
118+
import dev.aaa1115910.bv.viewmodel.CommentViewModel
119119
import dev.aaa1115910.bv.viewmodel.SeasonViewModel
120120
import dev.aaa1115910.bv.viewmodel.VideoPlayerV3ViewModel
121121
import dev.aaa1115910.bv.viewmodel.video.VideoDetailViewModel
@@ -311,6 +311,10 @@ fun VideoPlayerScreen(
311311
playerViewModel.playQuality(code)
312312
}
313313
},
314+
onChangeSpeed = { speed ->
315+
playerViewModel.currentPlaySpeed = speed
316+
Prefs.defaultPlaySpeed = speed
317+
},
314318
onToggleDanmaku = { enabled ->
315319
playerViewModel.currentDanmakuEnabled = enabled
316320
Prefs.defaultDanmakuEnabled = enabled
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
33

4+
<uses-permission android:name="android.permission.VIBRATE" />
45
</manifest>

player/mobile/src/main/kotlin/dev/aaa1115910/bv/player/mobile/BvPlayer.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ fun BvPlayer(
5959
onBack: () -> Unit,
6060
onClearBackToHistoryData: () -> Unit,
6161
onChangeResolution: (Int) -> Unit,
62+
onChangeSpeed: (Float) -> Unit,
6263
onToggleDanmaku: (Boolean) -> Unit,
6364
onEnabledDanmakuTypesChange: (List<DanmakuType>) -> Unit,
6465
onDanmakuOpacityChange: (Float) -> Unit,
@@ -200,9 +201,9 @@ fun BvPlayer(
200201
videoPlayer.start()
201202

202203
//reset default play speed
203-
//logger.info { "Reset default play speed: $currentPlaySpeed" }
204-
//videoPlayer.speed = currentPlaySpeed
205-
//playerViewModel.danmakuPlayer?.updatePlaySpeed(currentPlaySpeed)
204+
logger.info { "Reset default play speed: ${videoPlayerConfigData.currentVideoSpeed}" }
205+
videoPlayer.speed = videoPlayerConfigData.currentVideoSpeed
206+
mDanmakuPlayer?.updatePlaySpeed(videoPlayerConfigData.currentVideoSpeed)
206207
}
207208

208209
override fun onPlay() {
@@ -315,7 +316,11 @@ fun BvPlayer(
315316
videoPlayer.seekTo(position)
316317
},
317318
onChangeResolution = onChangeResolution,
318-
onChangeSpeed = { videoPlayer.speed = it },
319+
onChangeSpeed = { speed ->
320+
onChangeSpeed(speed)
321+
videoPlayer.speed = speed
322+
mDanmakuPlayer?.updatePlaySpeed(speed)
323+
},
319324
onToggleDanmaku = {
320325
//toggleDanmakuEnabled(videoPlayerConfigData.currentDanmakuEnabled)
321326
onToggleDanmaku(videoPlayerConfigData.currentDanmakuEnabled)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package dev.aaa1115910.bv.player.mobile
2+
3+
import android.os.Build
4+
import androidx.compose.material3.MaterialTheme
5+
import androidx.compose.material3.darkColorScheme
6+
import androidx.compose.material3.dynamicDarkColorScheme
7+
import androidx.compose.runtime.Composable
8+
import androidx.compose.ui.platform.LocalContext
9+
10+
@Composable
11+
fun MaterialDarkTheme(content: @Composable () -> Unit) {
12+
val context = LocalContext.current
13+
val colorScheme =
14+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) dynamicDarkColorScheme(context) else darkColorScheme()
15+
16+
MaterialTheme(colorScheme = colorScheme) {
17+
content()
18+
}
19+
}

0 commit comments

Comments
 (0)