如何在Chrome含播放视频的HTML页面中允许Windows屏保启动?
解决Chrome播放视频时允许Windows屏保启动的方法
众所周知,Chrome播放视频(包括通过getUserMedia获取的摄像头流)时会阻止Windows屏保启动,但在嵌入式kiosk模式场景下,我们需要禁用这个机制,以下是几种可行方案:
方案一:修改Chrome启动命令行参数(推荐,适配kiosk模式)
在启动Chrome kiosk模式时,添加以下参数,直接关闭Chrome的媒体会话功能(这是Chrome阻止屏保的核心机制):
chrome.exe --kiosk --disable-features=MediaSession,MediaSessionService
这个参数会让Chrome不再发送阻止系统休眠/屏保的信号,Windows会正常触发屏保。
方案二:页面代码中主动释放唤醒锁
如果无法修改Chrome启动参数,可以通过JavaScript操作唤醒锁API,主动释放Chrome播放视频时获取的屏幕唤醒锁:
const videoElement = document.getElementById('abc'); // 视频开始播放时尝试释放唤醒锁 videoElement.addEventListener('play', async () => { try { // 查询当前是否存在屏幕唤醒锁 const wakeLock = await navigator.wakeLock.query('screen'); if (!wakeLock.released) { await wakeLock.release(); console.log("已释放屏幕唤醒锁,允许屏保启动"); } } catch (error) { console.error("释放唤醒锁失败:", error); } });
注意:该API需要页面处于激活状态,部分旧版Chrome可能不支持,kiosk模式下需确保页面有足够权限。
方案三:Windows系统层面强制忽略应用阻止请求
从系统配置入手,强制Windows启动屏保,忽略所有应用的阻止请求:
- 按下
Win + R输入gpedit.msc打开「本地组策略编辑器」 - 导航路径:
计算机配置 > 管理模板 > 系统 > 电源管理 > 睡眠设置 - 找到「允许应用阻止睡眠状态(插上电源)」,设置为已禁用
- 同理,对「允许应用阻止睡眠状态(使用电池)」做相同设置
- 重启系统后,Windows会强制触发屏保,不受Chrome等应用的阻止影响
内容的提问来源于stack exchange,提问作者Basj
相关产品推荐
相关产品推荐

