feat: 暂停显示选集、亮度音量手势调节、播放进度续播
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# Player Enhancements Design
|
||||
|
||||
## 1. Pause Shows Controls
|
||||
|
||||
- Add `Player.Listener` to ExoPlayer, monitor `onPlayWhenReadyChanged`
|
||||
- When `playWhenReady` becomes false: show control panel, cancel auto-hide timer
|
||||
- When `playWhenReady` becomes true: restart auto-hide timer
|
||||
- WebView playback: not supported (can't detect pause)
|
||||
|
||||
## 2. Brightness/Volume Gestures
|
||||
|
||||
- Replace click listener with `OnTouchListener` on playerView/playerWebView
|
||||
- `ACTION_DOWN`: record startY, determine left/right half of screen
|
||||
- Left half: brightness mode
|
||||
- Right half: volume mode
|
||||
- `ACTION_MOVE`: calculate deltaY, adjust brightness/volume proportionally
|
||||
- `ACTION_UP`: if delta < threshold, treat as click (toggle controls); reset state
|
||||
- Brightness: `window.attributes.screenBrightness` (activity-scoped, no permission)
|
||||
- Volume: `AudioManager.setStreamVolume(STREAM_MUSIC, ...)`
|
||||
- Show floating indicator (TextView overlay) during adjustment
|
||||
|
||||
## 3. Playback Position Resume
|
||||
|
||||
- Add `playbackPosition: Long?` to `PlayHistory` entity
|
||||
- Add `updatePosition(id, position)` to `PlayHistoryDao`
|
||||
- Save position every 5 seconds via handler, and on pause/destroy
|
||||
- On player entry: read position from history, seek to it after prepare
|
||||
- Pass `resume_position` via Intent from SearchFragment
|
||||
- ExoPlayer only (WebView excluded)
|
||||
Reference in New Issue
Block a user