Files
youtube_personal/ETAPE11_BACKGROUND_PLAYER_TEST.md
T

66 lines
1.8 KiB
Markdown

# Étape 11 — Player audio séparé pour écran verrouillé
Les logs précédents montrent que le Player vidéo est arrêté AVANT que
`ACTION_SCREEN_OFF` arrive :
- `playing=true`
- `AudioTrack ... stop`
- puis seulement `screenInteractive=false`
Le correctif précédent ne pouvait donc pas empêcher l'arrêt.
## Nouvelle architecture Android
Quand l'écran s'éteint :
1. on conserve l'URL 360p déjà résolue ;
2. on relève la dernière position connue ;
3. `audio_service` démarre un DEUXIÈME `media_kit.Player` ;
4. ce Player n'a aucun `VideoController` ;
5. `PlayerConfiguration(vo: 'null')` désactive la sortie vidéo ;
6. `VideoTrack.no()` désactive explicitement la piste vidéo ;
7. il seek à la position courante et reprend uniquement l'audio ;
8. les contrôles notification / lockscreen pilotent ce Player.
Quand l'écran se rallume :
1. on lit la position réelle du Player audio de fond ;
2. on le détruit ;
3. on seek le Player vidéo à cette position ;
4. on remet la même vitesse ;
5. on reprend la vidéo si l'audio était encore en lecture.
## Test
```powershell
flutter clean
flutter pub get
flutter run -d f10778d8
```
Puis :
1. démarre une vidéo et attends au moins 10 secondes ;
2. verrouille le téléphone ;
3. accepte une très courte coupure de transition lors de ce premier test ;
4. le son doit reprendre et continuer écran éteint ;
5. utilise play/pause et +/-10 s sur l'écran verrouillé ;
6. rallume et déverrouille ;
7. la vidéo doit revenir à la position atteinte par l'audio.
Logs attendus :
```text
[BACKGROUND] start dedicated audio ...
[BACKGROUND-AUDIO] switching to dedicated player ...
[BACKGROUND-AUDIO] dedicated player ready ... playing=true
[BACKGROUND] dedicated audio active
```
Au retour :
```text
[BACKGROUND-AUDIO] returning to video player ...
[BACKGROUND] video restored ...
```