如何让系统在非全屏html5视频上休眠?

问题描述 投票:0回答:2

我们在办公室创建了一个在浏览器中运行的小型聊天客户端。它处理人们发布图片和 gif 并嵌入它们。最近我们添加了对 imgur 和 gfycat 的 html 5 视频的支持(它自动将 gif 转换为 mp4/webm)。这样做的一个意想不到的副作用是,现在任何使用 Chrome 或 Firefox 的人都会发现他们的显示器永远不会关闭。

您可以在 powercfg 中看到罪魁祸首是这些视频:

C:\WINDOWS\system32>powercfg /requests
DISPLAY:
[PROCESS] \Device\HarddiskVolume2\Program Files (x86)\Google\Chrome\Application\chrome.exe
Playing video
[PROCESS] \Device\HarddiskVolume2\Program Files (x86)\Mozilla Firefox\firefox.exe

如果暂停视频,powercfg 中的条目就会消失。切换到另一个选项卡、最小化镶边、甚至锁定屏幕都不允许系统关闭显示器。 Internet Explorer 似乎是唯一一个行为符合您预期的浏览器,并且仅在视频全屏时阻止睡眠。

是否有某种方法可以将视频标签标记为“不重要”,并基本上告诉浏览器可以在播放该视频时让计算机休眠?

html google-chrome firefox video
2个回答
1
投票

Google Chrome 38(撰写本文时的当前版本)中似乎存在一个错误,导致在播放 HTML5 视频时屏幕保护程序被抑制。通常,屏幕保护程序抑制仅应在视频以全屏模式播放时发生。

此问题似乎已在 Google Chrome 版本 39 的测试版中得到解决,因为看起来像是进行了临时修复


0
投票

这是一个相当老的问题,但显然仍然相关,因为我有一个用例。这是我决定的解决方案:

基本上,您可以隐藏视频元素并使用一些 JavaScript 来呈现画布元素中的内容:

html5:在画布内显示视频

© www.soinside.com 2019 - 2024. All rights reserved.