2011-10-21 14 views

risposta

7

In IOS 6+, è possibile.

[myAVCaptureDevice setTorchModeOnWithLevel:0.5 error:NULL]; <== range is (0,1.0] (don't send 0) 

È possibile enumerare le periferiche di acquisizione av in questo modo:

NSArray * devices = [AVCaptureDevice devices]; 

e stabilire quali abbiano torce (cioè non microfoni :):

myAVCaptureDevice.hasTorch 

http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html

+0

Ho provato questo metodo per ridurre la luminosità, ma anche con un valore molto piccolo (0,001), è ancora incredibilmente luminoso. È quello che dovrei aspettarmi? Non riesco a distinguere molta differenza tra piena e bassa luminosità. (Sto usando iOS 8 e iOS 9.) – Jeff

+1

Sì, non c'è un'enorme differenza. Non va mai a quello che un essere umano chiamerebbe "debole". – xaxxon

+0

Che schifo :(Sto cercando di fare uno scanner di codici a barre per un codice a barre personalizzato che utilizza l'inchiostro magnetico, accendere la luce ha aiutato molto a leggere la maggior parte del codice a barre, ma qualunque cosa sia proprio sotto la luce risplende in modo così brillante che il metallo l'inchiostro supera il resto, e la cosa inizia a brillare come uno specchio, invertendo completamente il colore (cioè: l'inchiostro è nero, quindi cerco barre nere, ma sotto la luce splende di bianco) – speeder

-1

La torcia stessa è accesa/spenta ma è possibile controllare "manualmente" quando accenderlo e spegnerlo (è necessario utilizzare NSTimer per questo).

Forse lo si può fare abbastanza velocemente in modo che la luce si attenuasse (non so davvero se ciò funzionerebbe praticamente).

Si può iniziare con iStrobe (open source) e check it out facilmente: http://www.vellios.com/istrobe/

+0

Ho provato questo e non funziona molto bene. Anche bloccando il dispositivo per la configurazione, quindi eseguendo un ciclo su una filettatura ad alta priorità che attiva/disattiva rapidamente la torcia con diversi cicli di lavoro. Non importa quale sia il tempismo che ho usato, è ancora lampeggiante visibilmente da qualche parte intorno ai 5-10 lampi al secondo, e non ha modificato la luminosità apparente. –

+0

Era solo un suggerimento. Non l'ho provato da solo. È bello sapere che non è fattibile (ma è strano). – Idan

-1

Sì, in iOS6 + è possibile regolare il livello di luminosità. C'è una proprietà per regolare il livello di luminosità ... il valore va da 0.0 a 1.0

+0

@H Bastan, la proprietà torchLevel è di sola lettura ed è stata aggiunta in iOS 5. C'è un nuovo metodo in iOS 6, setTorchModeOnWithLevel: error: come menzionato da xaxxon, sopra, che ti permette di impostare la luminosità da iOS 6 o dopo. –

Problemi correlati