【问题标题】:iOS6 flashlight does not workiOS6手电筒不工作
【发布时间】:2014-07-30 08:03:43
【问题描述】:

我正在尝试制作 hello-world-type 应用程序来学习如何打开/关闭手电筒。 所以这个应用程序中只有两个按钮:开和关。 这是“ON”按钮的操作:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[device lockForConfiguration:nil];
[device setTorchMode:AVCaptureTorchModeOn];
[device unlockForConfiguration];

它在 iOS7 上运行良好,但在 iOS6 上无法运行。我做错了什么?

UPD:[设备 setFlashMode:AVCaptureFlashModeOn] 也不起作用

【问题讨论】:

  • 您确定您的 iOS 6 设备有 LED 灯吗?

标签: ios objective-c xcode flashlight


【解决方案1】:

您似乎缺少一些步骤:

 - (void)toggleFlashlight
{
  AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

  if (device.torchMode == AVCaptureTorchModeOff)
  {
    // Create an AV session
    AVCaptureSession *session = [[AVCaptureSession alloc] init];

    // Create device input and add to current session
    AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error: nil];
    [session addInput:input];

    // Create video output and add to current session
    AVCaptureVideoDataOutput *output = [[AVCaptureVideoDataOutput alloc] init];
    [session addOutput:output];

    // Start session configuration
    [session beginConfiguration];
    [device lockForConfiguration:nil];

    // Set torch to on
    [device setTorchMode:AVCaptureTorchModeOn];

    [device unlockForConfiguration];
    [session commitConfiguration];

    // Start the session
    [session startRunning];

    // Keep the session around
    [self setAVSession:session];

    [output release];
  }
  else
  {
    [AVSession stopRunning];
    [AVSession release], AVSession = nil;
  }
}

希望对你有所帮助;)

PS : 不是我的代码 - http://iosdevelopertips.com/camera/flashlight-application-using-the-iphone-led.html

【讨论】:

  • 感谢您的回答,但我不需要 AVSession(这里只使用此代码 youtube.com/watch?v=2461qMQ7gUU)
  • 你有没有拿他/她的项目并在你正在尝试你的项目的设备上尝试它,看看你是否得到它的工作?如果是,那么只需检查您的代码和他/她之间的差异
【解决方案2】:

问题是我手机上的手电筒坏了:即使是相机应用程序也没有用手电筒拍照。我应该先检查这些硬件问题。

【讨论】:

    猜你喜欢
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多