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

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

请告诉我。

【问题讨论】:

    标签: iphone objective-c ios cocoa-touch ios4


    【解决方案1】:

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

    在 iOS4.3 中是不可能的。

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

    编辑

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

    【讨论】:

    【解决方案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 中的某些功能仍然存在错误,尚待解决。

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

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

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      相关资源
      最近更新 更多