【发布时间】:2011-10-07 11:28:20
【问题描述】:
是否可以通过编程方式调暗 iPhone 相机闪光灯的灯光?
请告诉我。
【问题讨论】:
标签: iphone objective-c ios cocoa-touch ios4
是否可以通过编程方式调暗 iPhone 相机闪光灯的灯光?
请告诉我。
【问题讨论】:
标签: iphone objective-c ios cocoa-touch ios4
iOS5 将帮助您解决这个问题。它仍处于 NDA 之下。我建议您查看 AVCaptureDevice 的 beta 文档或在 Apple 开发者论坛上提问。
在 iOS4.3 中是不可能的。
NDA 解除后,我将编辑此回复以提供文档链接。
编辑
抱歉,Apple 似乎在 iOS5 的公开版本中移除了更改火炬级别的功能。 AVCaptureDevice 的 torchLevel 属性现在是只读的。
【讨论】:
setTorchModeOnWithLevel,允许您设置火炬级别。 - (BOOL)setTorchModeOnWithLevel:(float)torchLevel error:(NSError **)outError
从 iOS 6.0 开始,有一个新的调用,setTorchModeOnWithLevel,允许您设置火炬级别。
- (BOOL)setTorchModeOnWithLevel:(float)torchLevel error:(NSError **)outError
【讨论】:
我认为这样的事情应该可行:
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) {
[device lockForConfiguration:nil];
[device setTorchMode:AVCaptureTorchModeOff];
[device unlockForConfiguration];
}
【讨论】:
我认为他们在公共 API 中仍然没有这些控件供开发人员更改。
我认为我们可以打开或关闭它,因为它适用于许多手电筒应用,但我认为我们不能降低强度(即调暗闪光灯)。
有迹象表明这可能会在 iOS5 启动后进入公共 API,但目前还不可能。
同时使用 iOS5 测试版进行开发也无济于事,因为 iOS5 中的某些功能仍然存在错误,尚待解决。
希望它会在最终版本中得到解决。
希望这对您有所帮助。 :)
【讨论】: