iphone - 激活手电筒应用程序的 LED

标签 iphone ios cocoa-touch

我正在尝试为我的 iPhone 制作一个手电筒应用程序。我有一部 iPhone 4,想在我的项目中使用 iPhone 上的 LED。任何人都可以帮助我开始使用它吗?

最佳答案

这是一个较短的版本,您现在可以使用它来打开或关闭 LED:

- (void)torchOnOff: (BOOL) onOff
{
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    if ([device hasTorch]) {
        [device lockForConfiguration:nil];
        [device setTorchMode: onOff ? AVCaptureTorchModeOn : AVCaptureTorchModeOff];
        [device unlockForConfiguration];
    }
}

更新:(2015 年 3 月)

您还可以设置手电筒的亮度:

- (void)setTorchToLevel:(float)torchLevel
{
    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    if ([device hasTorch]) {
        [device lockForConfiguration:nil];
        if (torchLevel <= 0.0) {
            [device setTorchMode:AVCaptureTorchModeOff];
        }
        else {
            if (torchLevel >= 1.0)
                torchLevel = AVCaptureMaxAvailableTorchLevel;
            BOOL success = [device setTorchModeOnWithLevel:torchLevel   error:nil];
        }
        [device unlockForConfiguration];
    }
}

关于iphone - 激活手电筒应用程序的 LED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3253187/

相关文章:

iphone - 静态库中字符串的本地化

iphone - 无限旋转图片背景UIImageView

ios - UILabel 仅显示文本的第一行,尽管我设置了 label.numberOfLines = 0

ios - 如何解决 View 居中之谜?

objective-c - Objective C iOS 开发中的数学方程式

objective-c - 如何仅旋转 MFMailComposeViewController

iphone - 如何获取相册中图片的文件名和标签?

iphone - 编辑/创建新对象(iPhone)时 NSManagedObjectContext 的正确用法是什么?

objective-c - Cocoa Touch NSArray 初始化无法正常工作

iphone - NSPredicate 表达式中 SUBQUERY 的快速解释