# Correctif écran verrouillé lorsque le PiP est actif Le log précédent montrait : ```text [BACKGROUND] lifecycle=AppLifecycleState.hidden pip=true playing=true [BACKGROUND] lifecycle=AppLifecycleState.paused pip=true playing=true ... AudioTrack ... stop ``` Le problème était que le code interprétait `pip=true` comme « la vidéo est toujours visible » et refusait donc d'activer le mode audio-only. Or, lors du verrouillage, Android peut conserver l'état PiP pendant que l'écran s'éteint et que la Surface vidéo disparaît. ## Nouveau comportement `MainActivity.kt` écoute maintenant directement : - `ACTION_SCREEN_OFF` - `ACTION_SCREEN_ON` Quand `ACTION_SCREEN_OFF` arrive : 1. Flutter reçoit `screenInteractiveChanged=false`. 2. La piste vidéo est désactivée avec `VideoTrack.no()`, même si `pip=true`. 3. Le Player garde l'audio et la MediaSession. 4. Le foreground service reste actif. Quand l'écran revient : 1. Flutter reçoit `screenInteractiveChanged=true`. 2. Il attend 450 ms que la Surface Android revienne. 3. `VideoTrack.auto()` restaure l'image. ## Test utile Lance Android en debug, démarre une vidéo, passe éventuellement en PiP, puis verrouille le téléphone. Cherche ces lignes : ```text [BACKGROUND] native screen interactive=false [BACKGROUND] disable video track [BACKGROUND] audio-only active ``` Si ensuite Android affiche malgré tout `AudioTrack ... stop`, cela voudra dire que `media_kit` arrête son moteur audio indépendamment de la piste vidéo. Dans ce cas, la prochaine étape sera de déplacer la lecture audio de fond dans un Player séparé géré par le service Android.