通过AVCapture在iPhone上分离控制手电筒亮度

时间:2016-11-30 17:02:55

标签: ios torch flashlight avcapture

我有一个需要精确控制割炬输出水平的应用程序。通过此功能设置级别:

setTorchModeOnWithLevel(_:)

该函数要求在0和1之间连续浮动,但似乎只有0到1的4个不同输出电平。

这是对的吗?我无法找到有关输入范围内的更改是连续还是离散的任何文档。

1 个答案:

答案 0 :(得分:1)

底层操作系统和硬件如何解释您传递的火炬级别值是一个实现细节。换句话说,该值最好被理解为仅仅是对基础系统的建议,只有在与自身进行比较时才具有相关性。也就是说,你可以期望1.0比0.5更亮或更亮,但只能在相同的硬件和相同的OS版本上。 (例如,iPhone 7上的最大亮度比iPhone 6上亮。)API无法保证底层系统支持多少个离散亮度级别。

(旁白:浮点数不是连续的。好的,在0.0和1.0之间有大约1亿个离散值,不计算次正规数,这对于很多用例来说都很平滑......但绝对不一样连续的。)