Поделиться через


Предотвращение отключения дисплея во время воспроизведения звука или видео (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. В случае разработки приложений для Windows 10 см. раздел последняя документация]

Узнайте, как предотвратить отключение дисплея во время воспроизведения локального или потокового видео с помощью класса DisplayRequest. Обычно, когда пользователь отсутствует, устройства, использующие приложения среды выполнения Windows, затемняют дисплей (и затем отключают его), чтобы увеличить время работы батареи. Но приложения для воспроизведения видео должны предотвращать отключение дисплея, чтобы пользователь мог смотреть видео. С помощью класса DisplayRequest можно сообщить Windows, что дисплей не должен отключаться, чтобы пользователь мог смотреть видео.

Что необходимо знать

Технологии

Необходимые условия

Инструкции

Этап 1: Создание объекта DisplayRequest

Создайте глобальную переменную DisplayRequest. Инициализируйте ее значением NULL.


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

Этап 2: Активация DisplayRequest непосредственно перед началом воспроизведения видео

Вызовите метод requestActive, чтобы уведомить Windows о том, что приложение требует не отключать дисплей.

В следующем примере показано, как активировать запрос до начала воспроизведения видео.

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

Этап 3: Деактивация DisplayRequest, когда воспроизведение видео остановлено или приостановлено

Вызовите метод requestRelease, чтобы отменить запрос дисплея, если воспроизведение остановлено, приостановлено или прервано из-за ошибки воспроизведения. Если у вашего приложения больше нет активных запросов дисплея, Windows уменьшает яркость дисплея (и затем отключает его), чтобы увеличить время работы батареи, когда устройством не пользуются.

В следующем примере показано, как дезактивировать запрос.

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

Примечания

Примечание  Windows автоматически деактивирует активные запросы дисплея вашей программы, когда она удаляется с экрана, и снова активирует их, когда приложение возвращается на передний план.

 

Вы также можете воспользоваться этим API, чтобы предотвратить отключение дисплея при работе с маршрутом в программе GPS. В этом случае замените события воспроизведения видео событиями навигации.

Чтобы просмотреть похожие примеры кода в контексте функций, скачайте образец состояния питания дисплея.

Связанные разделы

Краткое руководство: воспроизведение видео в приложении Магазина Windows