如何在音频/视频播放过程中保持屏幕打开 (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 应用提供方向的同时保持屏幕打开。这种情况下,导航事件应取代视频播放事件。
若要在函数上下文中查看类似的代码,请下载屏幕电源状态示例。