c++ - 我怎么知道相机是否支持 mac os x 中的分辨率

标签 c++ objective-c macos objective-c++

我正在做一个项目,最近切换到 objective c 一小段时间。使用 qtkit 从相机捕获视频时,我在 mac osx 中遇到了一些问题。我目前正在使用“setPixelBufferAttributes”来设置捕获视频的不同属性。问题是:

  1. 如果摄像头不支持 640 X 360 分辨率并且我使用“setPixelBufferAttributes”对其进行设置,那么还会捕获视频并在内部转换为我不需要的 640 X 360。所以我不想自动转换分辨率。

  2. 我想要相机硬件直接支持的所有支持的分辨率。

如果还有其他 API,请指导我...

最佳答案

此代码将从 QTCaptureDevice 枚举视频源的大小:

    [captureDevice.formatDescriptions enumerateObjectsUsingBlock:^(QTFormatDescription* formatDescription, NSUInteger idx, BOOL* stop) {
        NSDictionary* attributes = [formatDescription formatDescriptionAttributes];
        NSValue* videoEncodedPixelsSize = [attributes objectForKey:@"videoEncodedPixelsSize"];
        NSSize videoSize = [videoEncodedPixelsSize sizeValue];
        NSLog(@"%@", NSStringFromSize(videoSize));
    }];

关于c++ - 我怎么知道相机是否支持 mac os x 中的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741277/

相关文章:

objective-c - iOS 搜索中 NSMutableArray 结果的更好方法

android - 错误 :compileSdkVersion android-21 requires compiling with JDK 7

macos - 更改标题栏颜色 - Mac

c++ - OSX Catalina 上的 C++ 和 gem 问题

c++ - 加密 API 和 OpenSSL

ios - objective-c - SKScene 的动画背景颜色

c++ - 当我在我的 xcode 项目中使用 #include <OpenGL/gl.h> 行时,它在哪里寻找 gl.h 文件?

ios - 当应用程序在后台时 didReceiveRemoteNotification 不使用 Firebase 调用

c++ - 仅为 C++ header 设置 vim 文件类型脚本

c++ - 在循环中使用 cvtColor