是否可以以编程方式调暗 iPhone 相机闪光灯的灯光?

Posted

技术标签:

【中文标题】是否可以以编程方式调暗 iPhone 相机闪光灯的灯光?【英文标题】:Is it possible to dim the light of iPhone's camera flash light programmatically? 【发布时间】:2011-10-07 11:28:20 【问题描述】:

是否可以通过编程方式调暗 iPhone 相机闪光灯的灯光?

请告诉我。

【问题讨论】:

【参考方案1】:

ios5 将帮助您解决这个问题。它仍处于 NDA 之下。我建议您查看 AVCaptureDevice 的 beta 文档或在 Apple 开发者论坛上提问。

在 iOS4.3 中是不可能的。

NDA 解除后,我将编辑此回复以提供文档链接。

编辑

抱歉,Apple 似乎在 iOS5 的公开版本中移除了更改火炬级别的功能。 AVCaptureDevicetorchLevel 属性现在是只读的。

【讨论】:

你有 iOS 5 文档链接吗? developer.apple.com/library/IOS/documentation/AVFoundation/… 从 iOS 6.0 开始,有一个新的调用,setTorchModeOnWithLevel,允许您设置火炬级别。 - (BOOL)setTorchModeOnWithLevel:(float)torchLevel error:(NSError **)outError【参考方案2】:

从 iOS 6.0 开始,有一个新的调用,setTorchModeOnWithLevel,允许您设置火炬级别。

- (BOOL)setTorchModeOnWithLevel:(float)torchLevel error:(NSError **)outError 

【讨论】:

哪个。不方便。在 8.1.1 上坏了我已经向苹果提交了错误 19083935【参考方案3】:

我认为这样的事情应该可行:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) 
  [device lockForConfiguration:nil];
  [device setTorchMode:AVCaptureTorchModeOff];
  [device unlockForConfiguration];

【讨论】:

感谢您的回复。如果我没记错的话,这只会打开和关闭手电筒……对吗?有没有办法改变手电筒的光强度?请告诉我。 别这么认为,只有 ON、OFF 和 AUTO。在文档中逐渐找不到有关设置的任何信息。 developer.apple.com/library/IOS/#documentation/AVFoundation/…【参考方案4】:

我认为他们在公共 API 中仍然没有这些控件供开发人员更改。

我认为我们可以打开或关闭它,因为它适用于许多手电筒应用,但我认为我们不能降低强度(即调暗闪光灯)。

有迹象表明这可能会在 iOS5 启动后进入公共 API,但目前还不可能。

同时使用 iOS5 测试版进行开发也无济于事,因为 iOS5 中的某些功能仍然存在错误,尚待解决。

希望它会在最终版本中得到解决。

希望这对您有所帮助。 :)

【讨论】:

以上是关于是否可以以编程方式调暗 iPhone 相机闪光灯的灯光?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道相机闪光灯是不是已经点亮(iOS)?

如何开启/关闭iPhone相机闪光灯?

如何以编程方式在 iPhone 相机中显示图像编辑控件

可以连接到 iPhone/iPad 的蓝牙功能的照片相机

有啥方法可以访问 Android 中的手电筒灯状态。我想以编程方式检查闪光灯是处于开启状态还是关闭状态

以编程方式检测图像大小 - iPhone