Comment conserver l’affichage lors de la lecture audio/vidéo (HTML)

[ Cet article est destiné aux développeurs Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Découvrez comment conserver l’affichage lors de la lecture d’une vidéo en local ou diffusée en continu à l’aide de la classe DisplayRequest. Normalement, un appareil exécutant une application Windows Runtime estompe l’affichage (et finit par le désactiver) pour préserver l’autonomie de la batterie lorsque l’utilisateur s’absente, mais les applications vidéo doivent maintenir l’écran allumé pour que l’utilisateur puisse voir la vidéo. La classe DisplayRequest vous permet d’indiquer à Windows de laisser l’affichage activé pour permettre à l’utilisateur de voir la vidéo.

Ce que vous devez savoir

Technologies

Prérequis

Instructions

Étape 1: Créer un objet DisplayRequest

Créez une variable DisplayRequest globale. Initialisez-la sur la valeur Null.


// Create this variable at a global scope.
var dispRequest = null;

Étape 2: Activer l’objet DisplayRequest juste avant le démarrage de la lecture vidéo

Appelez requestActive pour signaler à Windows que l’application requiert que l’affichage reste activé.

L’exemple suivant active la demande avant le démarrage de la lecture vidéo :

function startVideoPlayback() {
    
    if (dispRequest === null) {
        
        // Activate a display-required request. If successful, the screen is 
        // guaranteed not to turn off automatically due to user inactivity.
        dispRequest = new Windows.System.Display.DisplayRequest;
        dispRequest.requestActive();
        
        WinJS.log && WinJS.log("Display request activated", 
                               "sample", 
                               "status");
        
        
        // Insert your own code here to start the video.
        
    }
}

Étape 3: Désactiver l’objet DisplayRequest quand la lecture vidéo s’arrête ou est suspendue

Appelez requestRelease pour supprimer la demande d’affichage chaque fois que la lecture vidéo est arrêtée, suspendue ou interrompue par une erreur de lecture. Lorsque votre application n’a plus de demandes d’affichage actives, Windows préserve l’autonomie de la batterie en estompant l’affichage (et finit par le désactiver) lorsque le périphérique n’est pas utilisé.

L’exemple suivant désactive la demande :

function stopVideoPlayback() {
    
    // Insert your own code here to stop the video.
    
    if (dispRequest != null) {
        
        // Deactivate the display request and set the var to null.
        dispRequest.requestRelease();
        dispRequest = null;
        
        WinJS.log && WinJS.log("Display request released", 
                               "sample",
                               "status");
        
    }
}

Remarques

Remarque  Windows désactive automatiquement les demandes d’affichage actives de votre application lorsque cette dernière n’est plus à l’écran, et les réactive quand votre application revient au premier plan.

 

Vous pouvez également utiliser cette API pour maintenir votre écran allumé pendant la transmission d’indications dans une application GPS. Dans ce cas, remplacez les événements de lecture vidéo par des événements de navigation.

Pour afficher un code similaire dans le contexte de fonctions, téléchargez l’exemple d’affichage de l’état de l’alimentation.

Rubriques associées

Démarrage rapide : lecture de vidéos dans une application du Windows Store