Oculus 自动唤起 VR 模式

移动设备相对传统 PC , 对 Web 的限制相对而言会更加严格一点,尤其 Webkit 针对 网页的权限限制非常严格。
比如我们常见的自动播放,随着 Safari 的限制,后面 Chrome 也开始限制音视频的自动播放功能。

同样的对于头显类设备,注入 Facebook Oculus 系列(Go, Quest 等),三星 MR 等,作为移动设备对音视频同样采取了一些限制。我们在开发 VR 的时候,必然需要唤起 VR 模式,

类似自动播放 的策略,我们也需要做唤起 VR 的手势交互逻辑。

当然唤起失败后,我们需要在界面出现点击的按钮,让用户手动点击。

// display 是 之前 navigator.getVRDisplays() 获取的关于可用头显设备对下
display.requestPresent([
  {
    source: canvasElement,
  },
])
.then(() => {
  console.log('VR Mode Enable')
})
.catch((er) => {
  console.log(er);
  // 用于处理没能自动唤起时候逻辑
  handleError()
});