我正在尝试使用以下方法为捕获 session 设置相机的分辨率:
[session setSessionPreset:AVCaptureSessionPresetLow]; // or any others resolutions
它似乎没有任何区别。它始终使用相机可以提供的最高分辨率。这是一款符合 UVC 标准的 USB 摄像头,并非由 Apple 制造。
问题:setSessionPreset 可以应用于外置USB 非苹果相机吗?或者我的问题是别的什么?
编辑:
我也试过这个测试:
if ([session canSetSessionPreset:AVCaptureSessionPresetLow])
{
NSLog(@"can presetlow"); // this part got called.
[session beginConfiguration];
session.sessionPreset = AVCaptureSessionPresetLow;
[session commitConfiguration];
}
else
{
NSLog(@"no, can't presetlow");
}
赏金问题:在这种情况下如何设置相机分辨率?
最佳答案
可能无法实现,具体取决于相机。 UVC 兼容并不意味着支持所有功能。
http://www.mac-compatible-web-cam.com/?ID=McRmr2
根据您的应用程序,解决方法可能是获取高分辨率图像并将其转换为代码中的较低分辨率。
关于macos - MAC OS X : Set external USB camera resolution with AVCaptureSession's sessionPreset doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717891/