了解 AVCaptureSession 会话预设的分辨率

2024-05-01

我正在 iOS 中访问相机并使用会话预设,如下所示:

captureSession.sessionPreset = AVCaptureSessionPresetMedium;

相当标准的东西。但是,我想提前知道由于此预设而获得的视频的分辨率(特别是因为根据设备的不同,它会有所不同)。我知道网上有一些表格你可以查一下(例如这里:http://cmgresearch.blogspot.com/2010/10/augmented-reality-on-iphone-with-ios40.html http://cmgresearch.blogspot.com/2010/10/augmented-reality-on-iphone-with-ios40.html)。但我希望能够以编程方式获得它,这样我就不仅仅依赖于神奇的数字。

所以,像这样(理论上):

[captureSession resolutionForPreset:AVCaptureSessionPresetMedium];

它可能返回 { width: 360, height: 480} 的 CGSize。我还没有找到任何这样的 API,到目前为止,我不得不等待获取我的第一个捕获的图像,然后查询它(由于我的程序流程中的其他原因,这并不好)。


我不是 AVFoundation 专业人士,但我认为要走的路是:

captureSession.sessionPreset = AVCaptureSessionPresetMedium;
AVCaptureInput *input = [captureSession.inputs objectAtIndex:0]; // maybe search the input in array
AVCaptureInputPort *port = [input.ports objectAtIndex:0];
CMFormatDescriptionRef formatDescription = port.formatDescription;
CMVideoDimensions dimensions = CMVideoFormatDescriptionGetDimensions(formatDescription);

我不确定最后一步,我自己也没有尝试过。刚刚在文档中发现它并认为它应该有效。

正在寻找CMVideoDimensions在 Xcode 中,您将找到 RosyWriter 示例项目。看一下该代码(我现在没有时间这样做)。

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

了解 AVCaptureSession 会话预设的分辨率 的相关文章

随机推荐

  • Celery:有没有办法编写自定义 JSON 编码器/解码器?

    我有一些对象想要发送到我的应用程序上的 celery 任务 这些对象显然不能使用默认的 json 库进行 json 序列化 有没有办法让 celery 使用自定义 JSON 序列化 反序列化这些对象Encoder Decoder 这里有点晚
  • 为什么Java禁止内部接口的继承?

    IE 为什么以下 循环依赖 不可能 public class Something implements Behavior public interface Behavior 由于接口不引用外部类 因此应该允许这样做 然而 编译器强迫我在类之
  • 有没有办法使用无服务器框架来验证路径

    我在后端使用无服务器框架 使用AWS 我的 serverless yml 像这样 functions getBrand handler functions brand getBrand handler events http path se
  • Rails:基于关联值的ActiveRecord查询

    我有 2 个型号 Report and Server具有belongs to 和has many 关系 我使用创建了一个访问器方法delegate这允许Report来查找其关联的Server company id 现在 我想运行一个查询Re
  • ASP.Net Web Api 未在 POST 上绑定模型

    我正在尝试将 JSON 数据发布到 Web Api 方法 但 JSON 数据未绑定到模型 这是我的模型 DataContract public class RegisterDataModel DataMember IsRequired tr
  • 在 VB.NET 中对对象列表进行排序

    我有一个乘客 对象 列表 它具有不同的属性 passenger name passenger age passenger surname 我想按年龄标准对这个列表进行排序 我该怎么做 我知道在整数 字符串列表中 List Sort 有效 但
  • 在一个 Servlet 中同时处理

    我有一个 Servlet 它接收请求 必须处理 5 个任务 从外部服务器获取数据 并将所有数据发送回订购的客户端 如何同时处理5个任务并在5个任务全部完成后继续执行servlet代码 您可以使用CoundDownLatch http doc
  • Java 双epsilon

    我目前需要一个epsilon http en wikipedia org wiki Machine epsilon类型的double 首选 java 库中的常量 而不是自己的实现 定义 据我所知Double has MIN VALUE an
  • 如何在 C# 日期时间选择器中设置最大时间和最小时间

    我在 C Windows 窗体应用程序中使用日期时间选择器 如何设置最短时间和最长时间 我有一个字符串 07 52 22 我想将其设置为最大或最短时间 我怎样才能做到这一点 DatetimePicker MinDate TimeOfDay
  • ASCII - 代码点与字符编码

    我发现一篇有趣的文章 字符代码问题教程 http jkorpela fi chars html code http jkorpela fi chars html code 解释了术语 字符代码 代码点 和 字符编码 前者只是分配给一个字符的
  • 我是否使用 jQuery noconflict 来避免插件冲突?

    UPDATE 我发现jquery bxslider http bxslider com插件本身会克隆并附加 前置导致问题的 LI 但没有解决这个问题 除非使用另一个脚本 我不得不让 jQuery 插件部分地相互冲突 盒子滑块 http bx
  • 检查运行的代码是否为单元测试用例

    我想检查正在运行的代码是否是单元测试用例 或者不为结果执行不同的代码 例如 if unit test case is running do something else do other thing 对此有什么想法吗 这是一个糟糕的方法 您
  • ActionScript 3 中的圆形滑块

    我希望在 ActionScript 中添加一个圆形滑块 非常类似于这一页 http interface eyecon ro demos drag vr html shows 它最终会改变对象的色调 返回 CMY 值 但如果它只是吐出程度 我
  • 如何通过按删除按钮从 ListView 中删除选定的项目?

    我想从 ListView 中删除一个或多个选定的项目 最好的方法是什么 我正在使用 C 和 dotnet Framework 4 您可以通过迭代来删除所有选定的项目ListView SelectedItems http msdn micro
  • Python 3.1:C3 方法解析顺序

    钻石型继承的一个非常简单的例子 class Root def f self print Root class A Root pass class B Root def f self print B class AB A B pass AB
  • 当使用 async_write_some 和 async_write 时

    我正在阅读 Boost Asio 的文档 它说 boost asio async write some可能不会将所有数据传输到对等方 考虑使用async write如果您需要确保在异步操作完成之前写入所有数据 请使用该函数 所以这是我的问题
  • VS安装时找不到符合以下参数的产品

    我已经尝试了 StackOverflow 和 VS 开发人员社区中提供的所有解决方案 但无法解决该错误 A product matching the following parameters cannot be found channelI
  • 我在 iText 中的希伯来语文本是左对齐的

    我使用以下代码在 iText 中生成希伯来语文本 它工作得很好 创建希伯来字体 并使文本从右到左流动 但文本是左对齐而不是右对齐 谁能帮我让它右对齐吗 请注意 我尝试使多列文本右对齐 并使段落右对齐 但无济于事 Thanks static
  • 设置 setAttribute() 进行行格式、line_spacing、SPACING_AFTER、SPACING_BEFORE

    我正在尝试从模板文件在 Google 文档中生成报告 当它复制文档时 它会将所有格式重置为用户的默认格式 而不是原始文档中的格式 我尝试了以下方法来尝试在文档 tableRow 和 tableCell 级别上设置格式 但创建报告时行距为 1
  • 了解 AVCaptureSession 会话预设的分辨率

    我正在 iOS 中访问相机并使用会话预设 如下所示 captureSession sessionPreset AVCaptureSessionPresetMedium 相当标准的东西 但是 我想提前知道由于此预设而获得的视频的分辨率 特别是