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
- Este tópico mostra como adicionar código a um aplicativo multimídia existente. O seu aplicativo em específico deve ter código para os manipuladores de eventos de player de vídeo. . Para saber mais sobre como criar aplicativos de áudio e vídeo, veja Guia de início rápido: reproduzindo vídeo em um aplicativo e Guia de início rápido: usando Reproduzir em em aplicativos.
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