You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自动旋转关闭时如何检测相机方向或锁定相机不旋转?

相机拍照旋转适配问题

我开发了一个包含video和canvas元素的相机拍照组件,组件挂载时通过以下媒体约束获取后置相机流:

constraints: {
  audio: false,
  video: {
    facingMode: "environment",
    width: { min: 640, ideal: 1920, max: 1920 },
    height: { min: 400, ideal: 1080, max: 1080 },
  },
}

问题情况

开启系统自动旋转时,拍照显示正常,因为浏览器会和相机同步旋转;但关闭自动旋转后,只有相机传感器会跟着设备旋转,浏览器页面保持不动,导致原本应该是横向的照片变成了纵向,这和video元素的显示逻辑有关。

已尝试的无效方法

  • 尝试读取EXIF信息,但canvas和video元素里拿不到这些数据
  • 监听orientation事件,但关闭自动旋转后该事件不会触发——毕竟页面本身没旋转,只是相机传感器转了

求助问题

  1. 有没有办法锁定相机,不让它跟着设备旋转?
  2. 如果不能锁定,有没有方法检测到相机传感器的旋转?
  3. 是不是必须用device motion事件来处理?总感觉有点大材小用。

组件需要同时适配Android和iOS设备,问题已在OnePlus 8 Pro上复现(需关闭自动旋转)。

内容的提问来源于stack exchange,提问作者andrecj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:30:53