gpt4 book ai didi

iphone - 访问用于相机曝光和快门速度的 iOS 6 新 API

转载 作者:技术小花猫 更新时间:2023-10-29 10:41:57 26 4
gpt4 key购买 nike

关于 Apple 的 iOS 6.0 feature page , 它曾经说

Take advantage of the built-in camera’s advanced features. New APIs let you control focus, exposure, and region of interest. You can also access and display faces with face detection APIs, and leverage hardware-enabled video stabilization.

此文本已被删除,我在 API 中找不到用于控制曝光的新方法。在“曝光设置”下的 AVCaptureDevice 类中,iOS 6.0 没有新的属性/方法。您知道我在哪里可以找到 API 中公开的新功能吗?

最佳答案

AVCaptureDevice 确实有一个-exposureMode 属性,但这仅用于设置模式(关闭/自动/连续)而不是实际的 f-stop 、SS 或 ISO。提供“曝光”控制的相机应用程序似乎都是通过后期处理来实现的。

但是,框架中似乎有未记录的 API 可以执行此操作。查看full headers for AVCaptureDevice.h (通过 class-dump )并注意以下方法:

- (void)setManualExposureSupportEnabled:(BOOL)arg1;
- (BOOL)isManualExposureSupportEnabled;

- (void)setExposureGain:(float)arg1;
- (float)exposureGain;

- (void)setExposureDuration:(struct { long long x1; int x2; unsigned int x3; long long x4; })arg1;
- (struct { long long x1; int x2; unsigned int x3; long long x4; })exposureDuration;

- (void)setExposureMode:(int)arg1;
- (int)exposureMode;

- (BOOL)isExposureModeSupported:(int)arg1;

我的猜测是 gain 相当于 f-stop(固定光圈),duration 是快门速度。我想知道这些是否用于 iPhone 5 的 low-light boost mode .

您还可以使用 otool四处寻找并尝试拼凑符号。 exposureMode 中可能有一个新常量用于启用手动控制,而 exposureDuration 似乎也有标志。调用这些时,请确保使用新的 -isExposureModeSupported: 并调用 -respondsToSelector: 来检查兼容性。

一如既往,Apple 不赞成使用私有(private) API,这也是 App Store 拒绝的原因。可能有解决此问题的方法,例如使用 -performSelector:obc_msgsend 隐藏调用使用 rot13 字符串或其他东西,因为我很确定他们只对应用程序二进制文件进行静态分析。

关于iphone - 访问用于相机曝光和快门速度的 iOS 6 新 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com