有没有办法在A-Frame中设置时禁用nosleep.js?

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

A-Frame利用nosleep.js防止手机入睡(它在后台播放一个小视频文件)。对于我的用例,我需要A-Frame来激活nosleep.js。

我可以通过修改aframe.js文件本身来禁用nosleep.js(搜索“USE_WAKELOCK”并将硬编码设置为false),但我更愿意在设置中以编程方式执行此操作。有没有办法做到这一点?

aframe
1个回答
0
投票

唤醒锁对象被创建为<a-scene>属性(source code)。 Here你可以查看实施情况。

当进入VR模式时,它正在执行wakelock.request(),并在退出时 - wakelock.release()。有了对场景的引用,你可以调用这些方法:

var scene = document.querySelector("a-scene")
// scene.wakelock.release() / scene.wakelock.request() 

我会通过听enter-vr事件禁用它,并在几秒ms后延迟释放唤醒锁。

scene.addEventListener('enter-vr', function () { 
    setTimeout(e => {wakelock.release();}, 100) 
});


Fiddle with the object logged. It will be created only when mobile is detected, you can select the device toolbar (chrome) / Responsive Design Mode (ff)
© www.soinside.com 2019 - 2024. All rights reserved.