66 lines
1.8 KiB
Markdown
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 ...
|
|
```
|