如何在音频/视频播放过程中保持屏幕打开 (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 应用商店应用中播放视频