AVCaptureDevice.h is primarily used to obtain some of the iphone's properties on camera devices. Front-and rear -facing camerasenum{avcapturedevicepositionback=1, Avcapturedevicepositionfront=2};typedef nsinteger avcapturedeviceposition; Flash switchenum{Avcaptureflashmodeoff=0, Avcaptureflashmodeon=1, Avcaptureflashmodeauto=2};typedef nsinteger avcaptureflashmode; flashlight Switchenum{Avcapturetorchmodeoff=0, Avcapturetorchmodeon=1, Avcapturetorchmodeauto=2,};typedef Nsinteger avcapturetorchmode; focal length adjustmentenum{avcapturefocusmodelocked=0, Avcapturefocusmodeautofocus=1, Avcapturefocusmodecontinuousautofocus=2,};typedef Nsinteger avcapturefocusmode; exposure adjustmentenum{avcaptureexposuremodelocked=0, Avcaptureexposuremodeautoexpose=1, Avcaptureexposuremodecontinuousautoexposure=2,};typedef Nsinteger avcaptureexposuremode; white balanceenum{avcapturewhitebalancemodelocked=0, Avcapturewhitebalancemodeautowhitebalance=1, Avcapturewhitebalancemodecontinuousautowhitebalance=2,};typedef Nsinteger avcapturewhitebalancemode;
To turn on the flash:
1avcapturedevice* d = nil;//find a device by position2nsarray* alldevices =[Avcapturedevice devices];3 for(avcapturedevice* Currentdeviceinchalldevices) { 4 if(Currentdevice.position = =avcapturedevicepositionback) { 5D =Currentdevice; 6 } 7}//at this point, D may still is nil, assuming we found something we like ....8nserror* err =Nil;9BOOL lockacquired = [D lockforconfiguration:&err]; Ten if(!lockacquired) { One //log err and handle ... A}Else { - //Flip on the flash mode - if([D Hasflash] &&[D Isflashmodesupported:avcaptureflashmodeon]) { the [D Setflashmode:avcaptureflashmodeon]; - } - [D unlockforconfiguration]; -}
ios-Flash operation