我可以在 ARView 中使用缩放功能吗?

2024-01-27

我希望我的用户在 AR 应用程序中使用缩放。可以使用 ARView 进行缩放吗?

我编写了以下代码并将其添加到点击操作中。

 let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes:
        [.builtInTrueDepthCamera, .builtInDualCamera, .builtInWideAngleCamera],
        mediaType: .video, position: .back)
    
    let devices : [AVCaptureDevice]  = discoverySession.devices
    let zoomFactor:CGFloat = 2
    
    for de in devices {
        print("name of camera")
        print(de.localizedName)
        do{
            try de.lockForConfiguration()
            de.videoZoomFactor = zoomFactor
            de.unlockForConfiguration()
        }catch {
            print ("error")
        }
               
    }

我在 iPhone X 上运行它并在日志中看到结果

name of camera
Back Dual Camera
name of camera
Back Camera

但对变焦没有影响。

使用 ARKit 时是否可以放大?


您无法将相机的变焦功能与现实套件一起使用。 Reality kit使用ARKit提供的摄像头,固定焦距28mm。但你可以像 Andy Jazz 的回答一样放大 ArView。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 ARView 中使用缩放功能吗? 的相关文章

随机推荐

  • 如何通过 for 循环从 C 函数返回表的表到 Lua

    我有一个std list对象 我想给 Lua 一个返回其多维位置的函数 所以我需要创建一个表的表 1 2 3 512 1 2 3 512 512 lua newtable L for int i 0 i lt 512 i lua newta
  • C 中的 HTTP 堆栈

    有没有用C实现的HTTP协议栈 提前致谢 更新 寻找客户端实现 你没有说你是在寻找客户端还是服务器 但很快谷歌就出现了libmicrohttpd http www gnu org software libmicrohttpd 用于在您的应用
  • 如何使用 Google 云端硬盘 API 密钥从 Android 应用程序访问云端硬盘内容?

    我无法访问 Google 云端硬盘 我在 Google API 控制台中创建了一个 API KEY 并启用了 Google Drive API 和 SDK 我在代码中的哪里设置 API KEY 驱动器生成器没有setJsonHttpRequ
  • cassandra中的主键是唯一的吗?

    这可能有点蹩脚 但在 cassandra 中主键是唯一的吗 例如下表中 CREATE TABLE users name text surname text age int adress text PRIMARY KEY name surna
  • .Net core 中 Json() 的小写属性名称

    有类 ClientViewModel public class Result public long PKID get set public string Name get set 并有 post 方法返回此模型 HttpPost publ
  • 如何让一个函数每 10 分钟在服务中运行一次?

    我有一个正在运行的 Windows 服务 在其中我想每隔几分钟运行一个函数 我找到了一些代码 但它似乎不起作用 我有一个记录器 它似乎没有进入过timer Elapsed 函数 protected override void OnStart
  • 阻止加载混合活动内容

    我在控制台中收到这些警告 但我的脚本无法正常工作 阻止加载混合活动内容 http code jquery com ui 1 10 3 themes smoothness jquery ui css http code jquery com
  • 如何获取 Flutter App 的编译/构建日期?

    我知道如何使用获取版本包信息 https pub dartlang org packages package info 但是如何在 ios 和 android 上获取运行时的构建时间戳 您可以使用构建 shell 脚本来创建 更新 Dart
  • 从 SetUpFixture 将参数传递给 TestFixture OneTimeSetUp

    我目前正在使用 C 构建一个自动化项目 nunit和 Selenium 我试图有一个安装类 它将在任何之前初始化 selenium webdriverTestFixture将运行并在所有这些都结束后尝试从TestFixture每一个Test
  • 无法理解 freeCodeCamp 中的 JS 递归倒计时函数

    所以 我已经明白了ideaJavaScript 中的递归 有一个功能是loops itself直到达到base条件 此时它停止并且返回最终结果 但是当我将其应用于尝试将其应用于的实际语法时 我有点头疼创建数组 让我们使用freeCodeCa
  • 更改 ApacheDS 中的默认管理员密码

    我是 ApacheDS 新手 我正在使用 apacheds 2 0 0 M17 管理员的默认密码是秘密的 有谁知道我可以在哪里将值更改为其他值 Inside apacheds instances default conf config ld
  • 找不到为 MVC 5 DropDownListFor 添加占位符的方法

    我尝试在网络上搜索并用我的代码尝试不同的东西 我知道如何为文本框添加占位符 但是为 MVC 5 下拉列表添加一个占位符怎么样 我有以下代码 但不会将占位符放入下拉列表中 Html DropDownListFor model gt model
  • Constexpr 类:继承?

    首先 我正在使用 Clang 3 4 1 我正在编写一个全局变量 它必须充当编译时上下文的占位符 主要作为值模板参数 为此 我编写了一个名为的 constexpr 类chameleon 它模仿任何运行时值的行为 struct chamele
  • c++11 及更高版本中 mutex.lock() 和 .unlock() 的确切线程间重新排序约束是什么?

    根据https en cppreference com w cpp atomic memory order https en cppreference com w cpp atomic memory order mutex lock and
  • 帮助菜单缺失部分 - Eclipse Luna

    我正在 Eclipse Luna 中工作 安装 Oracle Enterprise Pack for Eclipse OEPE 后 帮助菜单显示缺少项目 我附上屏幕截图 丢失物品 另外 我检查了菜单可见性 检查更新 安装新软件 安装细节 等
  • mypy 设置字典键/接口

    假设我有一个以字典作为参数的函数 def f d dict gt None x d x print x 我可以指定这本词典吗must有钥匙 x 到我的 我正在寻找类似的东西打字稿的界面 https www typescriptlang or
  • 如何在 Eclipse CDT 中配置特定的 GCC 交叉工具链?

    我导入了一些源代码C Makefile Project到 Eclipse CDT 工作区 并指定Cross GCC 索引器设置 工具链 项目导入进展顺利 但包含路径设置仅指向我当前的本机主机 GCC 实现 我一直在寻找Toolchain E
  • JavaScript:如何将额外参数传递给回调[重复]

    这个问题在这里已经有答案了 我有一个问题困扰了我一段时间 假设我有以下数组 var array 1 2 3 现在我有一个与此类似的功能 function print num str console log str num 是否可以调用 fo
  • Net Core 2.1 通用主机即服务

    我正在尝试使用最新的 Dotnet Core 2 1 运行时构建 Windows 服务 我不托管任何 aspnet 我不希望或不需要它来响应 http 请求 我遵循了示例中的代码 https github com aspnet Docs t
  • 我可以在 ARView 中使用缩放功能吗?

    我希望我的用户在 AR 应用程序中使用缩放 可以使用 ARView 进行缩放吗 我编写了以下代码并将其添加到点击操作中 let discoverySession AVCaptureDevice DiscoverySession device