C++ 如何知道mac os x中的摄像头是否支持分辨率

C++ 如何知道mac os x中的摄像头是否支持分辨率,c++,objective-c,macos,objective-c++,C++,Objective C,Macos,Objective C++,我正在做一个项目,最近在一小段时间内切换到了目标c。在使用qtkit从摄像头捕获视频时,我在mac osx中遇到了一些问题。我目前正在使用“setPixelBufferAttributes”设置捕获视频的不同属性。问题是: 如果相机不支持640 X 360分辨率,而我正在使用“setPixelBufferAttributes”进行设置,那么视频也会被捕获并在内部转换为640 X 360,我不需要。所以我不想自动转换分辨率 我希望所有支持的分辨率直接由相机硬件支持 如果还存在任何其他API,请指导

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

  • 如果相机不支持640 X 360分辨率,而我正在使用“setPixelBufferAttributes”进行设置,那么视频也会被捕获并在内部转换为640 X 360,我不需要。所以我不想自动转换分辨率

  • 我希望所有支持的分辨率直接由相机硬件支持


  • 如果还存在任何其他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));
        }];
    

    这个代码总是只提供一个单一的格式(总是160 X 120)从相机,我需要所有支持的格式从设备谢谢,请帮助我,如果你找到一些东西给我…你有什么相机?我从MacBook Pro获得640x480。您认为您的相机支持什么格式?有两种相机一种支持160 X 120到640 X 480相机名称是Microsoft lifecam VX-5000。另一款是rocksoul全高清1080p网络摄像头,它支持640 X 360和所有其他分辨率,包括640 X 480,在视频分辨率上保持4:3和16:9。所以我想知道一台设备支持的所有分辨率是什么..我插上MSFT相机,看到了同样的问题。根据此线程,QTKit仅报告最小分辨率。。。所以你是说,没有办法得到所有支持的决议的列表。