我目前正在使用以下代码打开和关闭我的iPhone 4 LED灯,它工作得很好,但唯一的问题是,每次我打开LED时都会有轻微的延迟.然而,它立即关闭.我需要它立即启动以实现类似频闪的功能,因为它更方便.
我注意到,在Apple的相机应用程序和许多其他应用程序中,当您按下电源按钮时,LED会立即打开和关闭.
我已经尝试将一些像"session"和"device"这样的对象作为实例变量添加到我的视图控制器中,以便iPhone在加载时创建这些对象,但是我没有任何运气让它工作.
我也试过看苹果WWDC示例代码,但我似乎无法破译他们复杂的代码.有人可以帮我解决这个问题,我已经尝试了大约4天才能让这个工作.
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface FlashlightViewController : UIViewController {
AVCaptureSession *torchSession;
}
@property (nonatomic, retain) AVCaptureSession * torchSession;
- (void) toggleTorch;
@end
Run Code Online (Sandbox Code Playgroud)
#import "FlashlightViewController.h"
@implementation FlashlightViewController
@synthesize torchSession;
- (void)dealloc
{
[torchSession release];
[super dealloc];
}
- (void)viewDidLoad
{
[self toggleTorch];
[super viewDidLoad];
}
- (void) toggleTorch
{
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch] && [device hasFlash])
{
if (device.torchMode == AVCaptureTorchModeOff)
{
NSLog(@"It's currently off.. turning on now.");
AVCaptureDeviceInput …Run Code Online (Sandbox Code Playgroud) 我有一个NSTtimer实现,它的工作正常.我还具有连接到所述时间间隔的参数UISlider的iPhone.然而,当我改变它的价值NSTimer仍然在原来的时间间隔不会得到更新运行.我如何实现NSTimer并将其更改为时间间隔作为我的UISlider更改值.以下是我正在使用的线路NSTimer.
[NSTimer scheduledTimerWithTimeInterval:mySlider.value
target:self
selector:@selector(myMethod)
userInfo:nil
repeats:YES];
Run Code Online (Sandbox Code Playgroud)
我希望它不断更新它的时间间隔与值UISlider.