Como manter a exibição ativa durante a reprodução de áudio/vídeo (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente ]

Saiba como manter a exibição ativa durante a reprodução de vídeo local ou streaming usando a classe DisplayRequest. Normalmente, um dispositivo que executa um aplicativo do Tempo de Execução do Windows reduz a luminosidade da tela (e depois a desliga) para economizar bateria quando o usuário está longe, mas os aplicativos de vídeo precisam manter a tela ligada para que o usuário possa vê-lo. A classe DisplayRequest permite que você informe ao Windows para manter a tela ligada para que o usuário possa ver o vídeo.

O que você precisa saber

Tecnologias

Pré-requisitos

Instruções

Etapa 1: Criar um objeto DisplayRequest

Crie uma variável DisplayRequest global Inicialize-a com nulo.


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

Etapa 2: Ativar o DisplayRequest antes de iniciar a reprodução do vídeo

Chame requestActive para notificar o Windows que o aplicativo requer que a tela fique ligada.

O seguinte exemplo ativa a solicitação antes de iniciar a reprodução de vídeo:

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.
        
    }
}

Etapa 3: Desativar o DisplayRequest quando a reprodução de vídeo é parada ou pausada

Chame requestRelease para liberar a solicitação de exibição sempre que a reprodução do vídeo por parada, pausada ou interrompida por um erro de reprodução. Quando o seu aplicativo não tem mais solicitações de exibição ativas, o Windows economizará a bateria ao reduzir a luminosidade da tela (e, depois, desligando-a) quando o dispositivo não estiver em uso.

O seguinte exemplo desativa a solicitação:

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");
        
    }
}

Comentários

Observação  O Windows desativa automaticamente as solicitações de exibição ativas do aplicativo quando for movido para fora da tela e as reativa quando ele voltar ao primeiro plano.

 

Também é possível usar esta API para manter a tela ligada enquanto oferece direções em um aplicativo de GPS. Nesse caso, substitua eventos de navegação por eventos de reprodução de vídeo.

Para ver um código semelhante no contexto das funções, baixe o exemplo de estado de energia da tela.

Tópicos relacionados

Guia de início rápido: reproduzindo vídeo em um aplicativo da Windows Store