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

能否直接访问MIUI手机的深度相机?若可行该如何操作?

MIUI设备实时读取深度相机数据的可行方案

核心问题说明

  • 直接用Unity的WebCamTexture.depthCameraName在MIUI上基本行不通,小米的MIUI系统确实会把深度相机的底层访问权限优先留给自带相机,第三方 app 默认没法直接调用深度相机的原始数据流。
  • 你之前能从人像模式照片里提取深度信息,是因为自带相机拍的时候会把深度数据嵌在照片的EXIF或者单独图层里,这和实时获取原始深度流不是一回事。

可尝试的研究方向

Unity优先方案

  1. 用Unity的AR Foundation框架:
    • AR Foundation本身支持深度数据采集,它会适配Android的Camera2 API或者系统提供的深度传感器服务。在MIUI上,要确保你的app申请了CAMERA权限,同时在Project Settings里开启AR Core支持(小米多数机型都支持AR Core)。
    • 具体可以通过ARCameraManager获取ARCameraFrame,从中提取DepthTexture,这种方式绕开了直接指定深度相机名称的限制,靠系统AR服务间接拿深度数据,成功率更高。
  2. 封装Android原生接口成Unity插件:
    • 基于Android的Camera2 API写原生模块,通过CameraManager的getCameraIdList()筛选后置且支持REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT的相机设备。
    • 注意:MIUI可能会限制Camera2 API的深度输出,有些机型哪怕硬件支持,第三方app也只能拿到低分辨率的深度数据,甚至拿不到。

其他Android XR方案

  • 直接用Google AR Core开发:AR Core提供了稳定的深度数据获取接口,MIUI对它的兼容性不错,只要机型在AR Core支持列表里,就能实时获取环境深度,还能满足你需要的位置信息需求。
  • MediaProjection API(局限性大):如果只是想拿自带相机的深度预览画面,可以试试录屏,但这种方式没法分离原始深度数据,只能拿到合成后的人像画面,用处不大。

额外提醒

  • 测试的时候一定要在MIUI的应用权限管理里给你的app开「相机」和「存储」权限,部分机型还得开「悬浮窗」权限(涉及相机预览的话)。
  • 不同MIUI版本的管控力度不一样,比如MIUI 13及以上对第三方相机权限管得更严,建议多测几款小米/红米机型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:18:16